SimpleDateFormat未正确显示日期

时间:2016-12-30 16:13:07

标签: android simpledateformat

我有一些日期要在Android应用中显示来自数据库的特定格式。我目前正在使用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
          }

它们显示如下:

enter image description here

enter image description here

甚至没有接近我的日期,我甚至不能说为什么它显示错误的日期。

我的代码:

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 个答案:

答案 0 :(得分:0)

将YYYY改为yyyy。

for (int i = 0; i < step; i++)
{
    Monitor.Enter(locker);
    //start timer
}

答案 1 :(得分:0)

这应该有效。请注意使用过的进口商品。

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(...)毫无意义。