Я не могу понять, почему JodaTime игнорирует AM/PM после даты, например.JodaTime синтаксический анализ даты + время + половина дня игнорируется половина дня поле
public static void main(String[] args) {
DateTimeFormatter fmt = DateTimeFormat.forPattern("dd/MM/yy HH:mm:ss a");
System.out.println(fmt.parseDateTime("23/06/2016 1:00:00 PM").toString("dd/MM/yy HH:mm:ss a"));
System.out.println(fmt.parseDateTime("23/06/2016 1:00:00 AM").toString("dd/MM/yy HH:mm:ss a"));
}
и выход
23/06/16 01:00:00 AM
23/06/16 01:00:00 AM
Как вы можете увидеть входные DateTimes 12 часов друг от друга, но после разбора, а затем преобразовать обратно в строку они оба одновременно.
Редактировать: Благодаря Sotirios Delimanolis правильный способ сделать это состоит в использовании "чч", а не "НН":
public static void main(String[] args) {
DateTimeFormatter fmt = DateTimeFormat.forPattern("dd/MM/yy hh:mm:ss a");
System.out.println(fmt.parseDateTime("23/06/2016 1:00:00 PM").toString("dd/MM/yy hh:mm:ss a"));
System.out.println(fmt.parseDateTime("23/06/2016 1:00:00 AM").toString("dd/MM/yy hh:mm:ss a"));
}
и выход
23/06/16 01:00:00 PM
23/06/16 01:00:00 AM
ты чемпион, и я чувствую, как идиот :) Да, «HH» должен быть «hh», –