Какой это формат даты для простого формата (android) 2018-10-03T09: 00: 36.845 + 0000? - PullRequest
0 голосов
/ 05 октября 2018

Я получаю строку ответа 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"));

она не работает,Можете ли вы сказать мне строку Dateformat для добавления в SimpleDateFormat?

Вот мой код

:

 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 голосов
/ 05 октября 2018

Вам не нужно указывать часть 'zone' в строке формата даты, вот исправленная версия:

"yyyy-MM-dd'T'HH:mm:ss.SSSZ"
0 голосов
/ 05 октября 2018

Вы можете использовать этот формат как шаблон

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

...