【发布时间】:2013-09-29 06:35:10
【问题描述】:
我刚开始使用Joda-Time,并让它在24-hour clock(“军事时间”)中正确显示我的日期,但我宁愿它是上午/下午。查了一下,它提到了hourOfDay,我认为这是 HH 值,所以我尝试编写一个循环,将其分解为 AM/Pm,但它从未成功。
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