У меня есть код, который выглядит следующим образом:
String PROPER_DATE_FORMAT = "yyyy-MM-dd";
String format = "yyyy-MM-dd'T'HH:mm:ss.SSSX";
SimpleDateFormat sdf = new SimpleDateFormat(format);
Date d = sdf.parse(Instant.now().toString());
SimpleDateFormat properFormat = new SimpleDateFormat(PROPER_DATE_FORMAT);
String formatterDate = properFormat.format(d);
Сейчас, в большинстве случаев, этот код работает, но время от времени я получаю Instant.now (), возвращая 2018-05-25T18:56:09Z
, а затемон выдаст исключение, т.к. формат не соответствует.
Почему иногда это противоречиво?
Исключение составляет java.lang.RuntimeException: java.text.ParseException: Unparseable date: "2018-05-25T18:56:09Z"
Обычно, когда Instant.now().toString()
возвращает строку с указанным выше форматом.Опять же, этот код работает большую часть времени, но бывают случаи, когда он не работает, и я удивляюсь, почему.
Я думал о том, было ли это потому, что в конце есть ноль, но простоне отображался, но я не уверен, потому что мне удалось получить значение 2018-05-25T20: 06: 58.900Z в результате Instant.now (). toString ()