Java 将24小时时钟时间转换为Joda时间的am/pm
我刚开始使用,并让它正确显示我的日期(“军事时间”),但我宁愿它是上午/下午。查找它,它提到了我认为是HH值,所以我尝试编写一个循环,将其分解为AM/Pm,但始终没有成功Java 将24小时时钟时间转换为Joda时间的am/pm,java,jodatime,Java,Jodatime,我刚开始使用,并让它正确显示我的日期(“军事时间”),但我宁愿它是上午/下午。查找它,它提到了我认为是HH值,所以我尝试编写一个循环,将其分解为AM/Pm,但始终没有成功 DateTime dtf = new DateTime(wikiParsedDate); if (hourOfDay == 00) { hourOfDay == 12; DateTimeFormatter builder = DateTimeFormat.forPattern
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);
}
}
DateTime dtf=newdatetime(wikiParsedDate);
如果(小时天数==00){
小时天数==12;
DateTimeFormatter builder=DateTimeFormat.forPattern(“dd-MM-yyy-HH:MM:ss.ss'AM”);
返回生成器打印(dtf);
}否则如果(012){
hourOfDay-12==hourOfDay;
DateTimeFormatter builder=DateTimeFormat.forPattern(“dd-MM-yyy-HH:MM:ss.ss'PM”);
返回生成器打印(dtf);
}
}
查看的API文档。这应该满足您的要求:
DateTimeFormatter builder = DateTimeFormat.forPattern("dd-MM-yyyy hh:mm:ss.SSa");
不同病例无需并发症。
hourOfDay-12==hourOfDay代码>似乎是错的。你的意思是hourOfDay-=12代码>?但这也行不通。它必须类似于dtf=dtf.withHourOfDay(dtf.getHourOfDay()-12)
,但这也是不正确的,因为它应该留给格式化程序来编写AM或PMA,并查看DateTimeFormat.forStyle
以生成格式和语言本地化为特定的字符串表示。什么是.SSa?这是后跟am/pm的空格吗?@IgorGanapolsky否。请参阅的API文档SS
=一秒的分数,a
=AM/PM。