У мене є такі дати: 2011-08-12T20:17:46.384Z
. Який це формат? Я намагаюся розібрати його з Java 1.4 через, DateFormat.getDateInstance().parse(dateStr)
і я отримую
java.text.ParseException: Нерозбірлива дата: "2011-08-12T20: 17: 46.384Z"
Я думаю, що я повинен використовувати SimpleDateFormat для розбору, але я повинен спершу знати рядок формату. Все, що я маю на те, поки що yyyy-MM-dd
, тому що я не знаю, що T
означає цей рядок - щось пов’язане з часовим поясом? Цей рядок дати походить від lcmis:downloadedOn
тегу, показаного на файлі мультимедіа типу файлів CMIS .
Z
в кінці короткий Zulu
і означає UTC . Цей формат, безумовно, є частиною колекції ISO 8601 стандартних текстових форматів дати. До речі, ці стандартні формати використовуються за замовчуванням у класах java.time .
java.util.Date
, java.util.Calendar
і java.text.SimpleDateFormat
тепер застарілі , замінені класами java.time, вбудованими в Java 8 та Java 9. Див. Підручник від Oracle .