Android日期格式为自定义日期

时间:2018-03-13 09:50:09

标签: java android

在json的android中,我收到日期字符串为" 2018-03-13 19:00:00"。 我希望转换为" 12-03-2018 07:00 PM"。

所以我已经实现了几行代码。

    public static String getCustomDateScoreboard(String dateTimeStr) {
    Date date = null;
    String formattedTime = "";

    try {
        date = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss", Locale.US).parse(dateTimeStr);
        Log.d(TAG,date.toString());
        formattedTime = new SimpleDateFormat("dd-mm-yyyy hh:mm aa", Locale.US).format(date);
    } catch (ParseException e) {
        Timber.e(e, "date time not in proper format: %s", dateTimeStr);
    }
    return formattedTime;
}

但它将月份返回00,即13-00-2018 07:00 PM

2 个答案:

答案 0 :(得分:3)

mm用于表示分钟,使用大写MM作为月份

public static String getCustomDateScoreboard(String dateTimeStr) {
    Date date = null;
    String formattedTime = "";

    try {
        date = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss", Locale.US).parse(dateTimeStr);
        Log.d(TAG,date.toString());
        formattedTime = new SimpleDateFormat("dd-MM-yyyy hh:mm aa", Locale.US).format(date);
    } catch (ParseException e) {
        Timber.e(e, "date time not in proper format: %s", dateTimeStr);
    }
    return formattedTime;
}

答案 1 :(得分:0)

在下面的方法中对日期格式进行一些更改......

  public static String getCustomDateScoreboard() {
    Date date = null;
    String formattedTime = "";

    try {
        date = new SimpleDateFormat("yyyy-mm-dd HH:mm:ss", Locale.US).parse("2018-03-13 19:00:00"); // hear pass your receive date.
        Log.d("Time::",date.toString());
        formattedTime = new SimpleDateFormat("dd-MM-yyyy hh:mm aa", Locale.US).format(date);
        Log.d("Time2::",formattedTime);
    } catch (ParseException e) {
    }
    return formattedTime;
}