В android в json я получаю строку даты как «2018-03-13 19:00:00». и я хочу преобразовать как «12-03-2018 19:00».

Итак, я реализовал несколько строк кода.

    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 19:00.

0
Smeet Bhatt 13 Мар 2018 в 12:50

2 ответа

Лучший ответ

Маленький 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;
}
3
rajan ks 13 Мар 2018 в 09:51

Внесите некоторые изменения в формат даты в методе, как показано ниже ...

  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;
}
0
Android Team 13 Мар 2018 в 14:03