如何在 java 中以 HHhMM 格式显示时间?

How to display time in HHhMM a format in java ?

我想以 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

这是不正确的。

谁能帮我解决这个问题。

试试这个,

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));

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

与目前给出的其他答案相比,您还应该知道 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