在Joda-Time将24小时制时间转换为上午/下午

时间:2013-09-29 06:35:10

标签: java jodatime

我刚刚开始使用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);
    }

}

1 个答案:

答案 0 :(得分:19)

查看DateTimeFormat的API文档。这应该做你想要的:

DateTimeFormatter builder = DateTimeFormat.forPattern("dd-MM-yyyy hh:mm:ss.SSa");

不需要针对不同病例的并发症。

相关问题