当前时间显示为13:35 PM, 但是我想显示为12小时制,使用AM / PM,即1:35 PM而不是13:35 PM当前代码如下private static final int FOR_HOURS = 3600000;private static final int FOR_MIN = 60000;public String getTime(final Model model) { SimpleDateFormat formatDate = new SimpleDateFormat("HH:mm a"); formatDate.setTimeZone(userContext.getUser().getTimeZone()); model.addAttribute("userCurrentTime", formatDate.format(new Date())); final String offsetHours = String.format("%+03d:%02d", userContext.getUser().getTimeZone().getRawOffset() / FOR_HOURS, Math.abs(userContext.getUser().getTimeZone().getRawOffset() % FOR_HOURS / FOR_MIN)); model.addAttribute("offsetHours", offsetHours + " " + userContext.getUser().getTimeZone().getDisplayName(Locale.ROOT)); return "systemclock";}
3 回答

郎朗坤
TA贡献1921条经验 获得超9个赞
最简单的方法,通过使用日期模式得到它- h:mm a,其中
h-上午/下午的小时数(1-12)
m-小时
a-上午/下午标记
程式码片段:
DateFormat dateFormat = new SimpleDateFormat("hh:mm a");

jeck猫
TA贡献1909条经验 获得超7个赞
SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm:ss a");
h用于AM / PM时间(1-12)。
H被使用24小时(1-24)。
a是AM / PM标记
m是小时
注意:2小时将打印前导零:01:13 PM。将打印一个小时,且不带前导零:1:13 PM。
看起来基本上每个人都已经击败了我,但是我离题了
添加回答
举报
0/150
提交
取消