simpledateformat(android)2018-10-03T09:00:36.845 + 0000的日期格式是哪种?

时间:2018-10-05 08:16:43

标签: java android simpledateformat

我正在获取响应字符串2018-10-03T09:00:36.845 + 0000

而且我必须在几分钟前为PrettyTime解析它。

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
sdf.setTimeZone(TimeZone.getTimeZone("GMT"));

它不起作用,您能告诉我要在SimpleDateFormat中添加的Dateformat字符串吗?

这是我的代码

 try {
      SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSS'Z'");
      sdf.setTimeZone(TimeZone.getTimeZone("GMT"));
      long time = sdf.parse(device_for_bottomviews.get(i).lastupdate).getTime();
      PrettyTime prettyTime = new PrettyTime(Locale.getDefault());
      String ago = prettyTime.format(new Date(time));
      lastupdate.setText(ago);
      } 
catch (Exception e)
{
      e.printStackTrace();
      lastupdate.setText(device_for_bottomviews.get(i).lastupdate);
}

我得到的例外

java.lang.IllegalArgumentException
        at java.util.Date.parse(Date.java:633)
        at java.util.Date.<init>(Date.java:272)
        at com.test.busmanagement.MapActivity$DeviceAdapter.getView(MapActivity.java:721)
        at android.widget.AbsListView.obtainView(AbsListView.java:2363)
        at android.widget.ListView.makeAndAddView(ListView.java:1970)
        at android.widget.ListView.fillDown(ListView.java:704)
        at android.widget.ListView.fillFromTop(ListView.java:765)

2 个答案:

答案 0 :(得分:0)

您可以将此格式用作模式

yyyy-MM-dd'T'HH:mm:ss.SSSX

答案 1 :(得分:0)

您不需要引用日期格式字符串的“区域”部分,这是更正后的版本:

"yyyy-MM-dd'T'HH:mm:ss.SSSZ"