Разбор странного формата даты

У меня есть этот странный формат даты, который я должен разобрать.

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 не являются потокобезопасными.

Другие вопросы по тегам