2016-10-21 51 views
0

我想以HHhMM格式顯示時間。例如,如果時間是09:30 AM,我想將其顯示爲上午9點45分。我嘗試以下方法: -如何以java格式顯示HHhMM格式的時間?

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 

這是不正確。

任何人都可以請在這幫助我。

+0

什麼是你想看到正確的字符串? 「HHhMM」格式中的小h是什麼? –

+1

你嘗試使用轉義'新的SimpleDateFormat(「'yyyy.MM.dd'在'HH'h'MM a」);'? – DimaSan

+3

可能重複[如何在SimpleDateFormat中插入特殊字符?](http://stackoverflow.com/questions/2912149/how-can-i-insert-special-characters-in-simpledateformat) – DimaSan

回答

3

試試這個,

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

非常感謝:) – user2142786

1

如果你使用這一個SimpleDateFormat ft = new SimpleDateFormat("E yyyy.MM.dd 'at' H'h'MM a");您將獲得當前日期:在8h10 AM神父2016年10月21日。我認爲這就是你要找的東西

1

與其他答案相比,你應該知道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 
相關問題