我正在获取响应字符串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)
答案 0 :(得分:0)
您可以将此格式用作模式
yyyy-MM-dd'T'HH:mm:ss.SSSX
答案 1 :(得分:0)
您不需要引用日期格式字符串的“区域”部分,这是更正后的版本:
"yyyy-MM-dd'T'HH:mm:ss.SSSZ"