Android-将日期格式更改为dd / mm / yy

Calendar calendar = Calendar.getInstance();
String currentDate = DateFormat.getDateInstance(DateFormat.SHORT).format(calendar.getTime());

我正在尝试获取当前日期,但格式为DD / MM / YY,但这给了我MM / DD / YY 关于如何解决它的任何建议?

评论
  • 有夫之夫
    有夫之夫 回复

    我假设您想反转日期格式。

    SimpleDateFormat fmt = new SimpleDateFormat("yyyy-MM-dd");
    Date date = fmt.parse(dateString);
    
    SimpleDateFormat fmtOut = new SimpleDateFormat("dd-MM-yyyy");
    return fmtOut.format(date);
    

    希望会有所帮助。

  • et_qui
    et_qui 回复

    You can use SimpleDateFormat class:

    Calendar calendar = Calendar.getInstance();
    SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yy");
    String currentDate = sdf.format(calendar.getTime());
    
  • 不开则待
    不开则待 回复

    避免使用旧的日期时间类

    您使用的是可怕的日期时间类,而该类早已被JSR 310中定义的现代java.time类取代了。

    java.time

    For a date only value, without a time-of-day and without a time zone, use LocalDate.

    需要时区来确定当前日期。在任何给定时刻,日期可能在日本为“明天”,而在墨西哥仍为“昨天”。

    ZoneId z = ZoneId.of( "America/Montreal" ) ;
    LocalDate ld = LocalDate.now( z ) ;
    

    生成带有标准ISO 8601格式的文本的字符串。

    String output = ld.toString() ;
    

    生成具有您自定义格式的文本的字符串。

    DateTimeFormatter f = DateTimeFormatter.ofPattern( "dd/MM/uu" ) ;
    String output = ld.format( f ) ;
    

    对于26之前的早期Android版本,请参见ThreeTenABP库。