Я только начал работать с Joda-Time и получил его, чтобы правильно отобразить дату в 24-hour clock («военное время»), но я предпочел бы быть am/pm. Посмотрел, и он упомянул hourOfDay, который, как я понял, был значением HH, поэтому я попытался написать цикл, который разбил бы его на AM/Pm, но он никогда не срабатывал.Преобразование 24-часового времени в am/pm в Joda-Time
DateTime dtf = new DateTime(wikiParsedDate);
if (hourOfDay == 00) {
hourOfDay == 12;
DateTimeFormatter builder = DateTimeFormat.forPattern("dd-MM-yyyy HH:mm:ss.SS'AM");
return builder.print(dtf);
} else if (0 < hourOfDay && hourOfDay < 12) {
DateTimeFormatter builder = DateTimeFormat.forPattern("dd-MM-yyyy HH:mm:ss.SS'AM");
return builder.print(dtf);
} else if (hourOfDay > 12) {
hourOfDay - 12 == hourOfDay;
DateTimeFormatter builder = DateTimeFormat.forPattern("dd-MM-yyyy HH:mm:ss.SS'PM");
return builder.print(dtf);
}
}
'hourOfDay - 12 == hourOfDay;' кажется неправильным. Вы имеете в виду 'hourOfDay - = 12;'? Но это тоже не сработает. Это должно быть что-то вроде 'dtf = dtf.withHourOfDay (dtf.getHourOfDay() - 12)', но это также неверно, так как его нужно оставить форматиру для записи AM или PM –