【问题标题】:How to display time in HHhMM a format in java ?java - 如何以 HHhMM 格式显示时间?
【发布时间】:2016-10-21 08:35:38
【问题描述】:

我想以 HHhMM 格式显示时间。例如,如果时间是 09:30 AM,我想将其显示为 9h45 AM。我尝试了以下方法:-

import java.util.*;
import java.text.*;

public class PS6 {

   public static void main(String args[]) {
      Date dNow = new Date( );
      SimpleDateFormat ft = 
      new SimpleDateFormat ("E yyyy.MM.dd 'at' HHhMM a");

      System.out.println("Current Date: " + ft.format(dNow));
   }
}

但是输出是

Current Date: Fri 2016.10.21 at 14210 PM

这是不正确的。

谁能帮帮我。

【问题讨论】:

  • 您想查看的正确字符串是什么? HHhMM格式的小h是什么?
  • 你有没有尝试使用转义new SimpleDateFormat ("E yyyy.MM.dd 'at' HH'h'MM a");
  • 你引用了'at',因为它是字面意思,你还需要引用'h',因为它也是字面意思。

标签: java datetime hour


【解决方案1】:

试试这个,

Date dNow = new Date();
SimpleDateFormat ft = new SimpleDateFormat("E yyyy.MM.dd 'at' HH'h'MM a");
System.out.println("Current Date: " + ft.format(dNow));

【讨论】:

    【解决方案2】:

    如果您使用这个SimpleDateFormat ft = new SimpleDateFormat("E yyyy.MM.dd 'at' H'h'MM a");,您将获得当前日期:Fr 2016.10.21 at 8h10 AM。我想这就是你要找的东西

    【讨论】:

      【解决方案3】:

      与迄今为止给出的其他答案相比,您还应该知道 M 代表月份,而不是分钟,而 H 代表 24 小时制,这在具有 am/pm-marker 的情况下是有问题的.明确指定语言环境也是值得的。

      所以请改用这个模式:

      Date dNow = new Date();
      SimpleDateFormat ft = new SimpleDateFormat("E yyyy.MM.dd 'at' hh'h'mm a", Locale.ENGLISH);
      System.out.println(
          "Current Date: " + ft.format(dNow)); // Current Date: Fri 2016.10.21 at 12h32 PM
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2016-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2023-03-07
        • 2013-05-21
        相关资源
        最近更新 更多