SimpleDateFormat неправильно отображает дату

У меня есть некоторые даты для отображения в Android app, которые приходят из определенного формата из базы данных. В настоящее время я использую SimpleDateFormatдля отображения даты должным образом, но это, кажется, работает неправильно.

          {
              "activity_date": "15/02/2016",
              "activity_game_name": "",
              "activity_title": "Played Buble",
              "activity_type": 1,
              "activity_amount": 0
          },
          {
              "activity_date": "13/02/2016",
              "activity_game_name": "",
              "activity_title": "Win Jackpot",
              "activity_type": 2,
              "activity_amount": 532195
          }

И они показывают как:

Введите описание изображения здесь

и

Введите описание изображения здесь

который даже не близко к дате у меня есть, и я даже не могу сказать, почему он отображает неправильную дату.

Мой код:

Format formatter = new SimpleDateFormat("dd MMM YYYY", Locale.getDefault());
String formattedDate = String.valueOf(formatter.format(new Date(activitiesHistory.get(position).getDate())));
holder.history_date.setText(formattedDate);

Как устранить эту проблему?

2 ответа

  1. Это должно сработать. Пожалуйста заметьте используемые ввозы.

    import java.text.Format;
    import java.text.SimpleDateFormat;
    import java.util.Date;
    import java.util.Locale;
    
    Format formatter = new SimpleDateFormat("dd MM YYYY", Locale.getDefault());
    String formattedDate = formatter.format(activitiesHistory.get(position).getDate());
    holder.history_date.setText(formattedDate);
    

    У вас есть ошибка в шаблоне строки — MMMвместо MM.
    Кроме того, использовать String.valueOf(...)и new Date(...)во 2-й линии бессмысленно.