以 12 小时格式显示当前时间,带 AM/PM

2022-08-31 05:52:10

当前时间显示为13:35 PM但是我想使用AM / PM显示为12小时格式,即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";
}

答案 1

使用日期模式获取它的最简单方法 - ,其中h:mm a

  • h - 小时数(上午/下午) (1-12)
  • m - 小时分钟
  • a - 上午/下午标记

代码片段 :

DateFormat dateFormat = new SimpleDateFormat("hh:mm a");

阅读更多文档 - SimpleDateFormat java 7


答案 2

使用这个SimpleDateFormat formatDate = new SimpleDateFormat("hh:mm a");

enter image description here

Java docs for SimpleDateFormat