1. ホーム

[解決済み】現在時刻を12時間表示でAM/PM表示する。

2022-04-08 16:37:01

質問

現在、時刻の表示は 午後13時35分 しかし 12時間表示でAM/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";
}

解決方法は?

最も簡単な方法は、日付パターンを使って取得することです。 h:mm a ここで

  • h - 午前/午後における時間(1-12).
  • m - 1時間あたりの分数
  • a - 午前/午後マーカー

コードスニペット:

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

もっと読む ドキュメント - SimpleDateFormat java 7