Он работает с «yyyy-MM-dd'T'HH:mm:ss.SSSZ
», так как этот формат поддерживается в ISODateTimeFormat - который обрабатывает любые String
параметров, передаваемых в DateTime(Object)
конструктор.
Вы должны построить подходящий DateTimeFormatter
для "yyyy-MM-dd hh:mm:ss
" и использовать это вместо, например. как так:
DateTimeFormatterBuilder b = new DateTimeFormatterBuilder();
b.append(ISODateTimeFormat.yearMonthDay());
b.appendLiteral(" ");
b.append(ISODateTimeFormat.hourMinuteSecond());
DateTimeFormatter fmt = b.toFormatter();
// fmt can now be used to parse "yyyy-MM-dd hh:mm:ss" patterns, like so:
System.out.println(fmt.parseDateTime("2010-04-20 20:13:59"));
Редактировать: Для того, чтобы преобразовать из «yyyy-MM-dd hh:mm:ss
» в «yyyy-MM-dd'T'HH:mm:ss.SSSZ
» вы можете просто сделать так:
String dateTime = ISODateTimeFormat.dateTime()
.print(fmt.parseDateTime("2010-04-20 20:13:59"));
Не уверен, что хорошо, что будет у вас по сравнению с имея действительный DateTime
(это то, что будет fmt.parseDateTime("2010-04-20 20:13:59")
).
Спасибо за ваш ответ Йенс. И если я хочу преобразовать формат «yyyy-MM-dd hh: mm: ss» в этот формат «yyyy-MM-dd'T'HH: mm: ss.SSSZ»? Я думаю, что в моем случае это будет самое лучшее. Мне нужно работать с разными часовыми поясами. – user1251064
Йенс, спасибо !!! Я заработал. :) Спасибо за ваше время и терпение. – user1251064