我刚刚开始与Joda-Time一起工作,并且正确显示了我的日期24-hour clock(“军事时间”),但我宁愿它是上午/下午。看着它,它提到hourOfDay我认为是HH值,所以我试图写一个循环,将其分解成AM/Pm,但它从来没有成功。在Joda-Time转换24小时时间到上午/下午
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 –