Не удалось разобрать дату с часовым поясом с помощью Joda Time

Я пытаюсь использовать Joda Time как для форматирования объектов DateTime в String, так и для анализа этих строк обратно в DateTime. Но мне это не удается, когда шаблон включает z:

    DateTimeFormatter dtf = DateTimeFormat.forPattern("dd-MM-yyyy HH:mm:ss.SSS z");

    String dts = dtf.print(System.currentTimeMillis());

    System.out.println(dts);

    DateTime dt = dtf.parseDateTime(dts);

Вышеприведенный код генерирует исключение, когда происходит синтаксический анализ строки в DateTime.

Есть ли у вас какие-либо идеи?

Йоси


person yosi    schedule 03.08.2011    source источник
comment
Что за исключение? Каково значение dts, которое будет напечатано?   -  person Mike Q    schedule 03.08.2011
comment
См. stackoverflow.com /вопросы/4498274/   -  person Iker Jimenez    schedule 23.09.2011


Ответы (2)


Ты можешь сделать:

DateTime dt = new DateTime();
System.out.println(dt.toString("dd-MM-yyyy HH:mm:ss.SSS z"));

Ознакомьтесь с руководством пользователя.

person dimitrisli    schedule 03.08.2011

Шаблон не правильный, попробуйте этот

DateTimeFormatter dtf = DateTimeFormat.forPattern( "dd-MM-yyyy HH:mm:ss.SSS'z" );

это сработало для меня

person mana    schedule 03.08.2011