Разбор странного формата даты
У меня есть этот странный формат даты, который я должен разобрать.
2015-12-18T03: 36: 06,000+0000
В настоящее время я сопоставляю регулярное выражение для форматов дат, чтобы я мог анализировать разные даты. Однако этот формат меня запутал. Любая помощь приветствуется.
1 ответ
Решение
Разобрать String
в Date
в Java вы используете DateFormat
Объект и укажите формат даты. Нет необходимости использовать Regex, библиотека Java может сделать это за вас.
final DateFormat df = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss.SSSZ");
final Date d = df.parse("2015-12-18T03:36:06.000+0000"); // From your code above
System.out.println(d);
Посмотрите JavaDoc для SimpleDateFormat для большего объяснения того, что означают символы. На самом деле это общий формат для дат под названием ISO 8601, я просто взял образец прямо из документации.
Осторожно! Эти объекты DateFormat не являются потокобезопасными.