Как правильно преобразовать дату?

168
02 сентября 2018, 21:00

Есть данные в String "2018-07-09T08:26:38.125+0000". Пытаюсь получить день месяц год час минута, написал метод:

public static String convertToDateAndTime(String dateTimeZone) throws ParseException {
        SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss:S'Z'");
        Date newDate=formatter.parse(dateTimeZone);
        formatter=new SimpleDateFormat("dd-mm-yyyy hh:mm");
        String date=formatter.format(newDate);
        return date;
}

Выдает ошибку:

W/System.err: java.text.ParseException: Unparseable date: "2018-07-09T08:26:38.125+0000"

Answer 1

Исправьте формат на: yyyy-MM-dd'T'HH:mm:ss.SSSZ

Answer 2

У вас неверный формат даты. Исходная строка у вас в формате ISO 8601, для которой правильный формат такой:

String ISO_8601_FORMAT_STRING="yyyy-MM-dd'T'HH:mm:ss.SSS'Z'";

Update:

Z - Zulu time без кавычек

String ISO_8601_FORMAT_STRING="yyyy-MM-dd'T'HH:mm:ss.SSSZ";
READ ALSO
Как задать прозрачный фон в SurfaceView? Android

Как задать прозрачный фон в SurfaceView? Android

В приложении имеется view с графиком, поверх которой располагается другая view, потомок SurfaceViewНа SurfaceView предполагается возможность рисования...

155
POST запрос не отправляется на сервер

POST запрос не отправляется на сервер

У меня возникли проблемы с отправкой JSON на сервер, в логах видна следующая ошибка: W/Systemerr: java

175
Нельзя добавить файл в SVN в Intellij idea

Нельзя добавить файл в SVN в Intellij idea

Есть svn сервер в интернетеОткрыл idea, сделал checkout

167
Распознавание свиста

Распознавание свиста

Недавно узнал о приложениях для android, с помощью которых можно найти телефон свистомТы свистишь, а телефон начинает пищать

185