Właśnie zacząłem pracować z Joda-Time i otrzymałem poprawną prezentację mojej daty w 24-hour clock ("czas militarny"), ale wolałbym, żeby było to AM/pm. Sprawdziłem to i wspomniałem hourOfDay, które według mnie było wartością HH, więc próbowałem napisać pętlę, która podzieliłaby ją na AM/Pm, ale nigdy nie wyszło.Konwersja 24-godzinnego zegara na pm/pm w 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;' wydaje się źle. Czy masz na myśli 'hourOfDay - = 12;'? Ale to też nie zadziała. Musi to być coś w stylu 'dtf = dtf.withHourOfDay (dtf.getHourOfDay() - 12)' ale jest to również niepoprawne, ponieważ powinno być pozostawione do formatera, aby napisać AM lub PM –