2012-03-20 115 views
1

我想將24小時時間轉換爲12小時上午/下午時間。 例如: - 如何轉換日期2012-03-20T22:30:00.000 + 05:30到2012-03-20 10:30 PM ??使用Java將24小時時間轉換爲12小時時間

我已經提醒日期,但它在24小時內。我雖然使用SimpleDateFormater但仍爲12.30它顯示00.30而不是12.30 PM

在此先感謝。

+2

http://docs.oracle.com/javase/1.4.2/docs/api/java /text/SimpleDateFormat.html有所有的格式選項 – 2012-03-20 10:39:49

+1

@StuartSiegler請不要鏈接到過時的api文檔(當前版本是jdk7 :-) – kleopatra 2012-03-20 13:44:02

+0

@kleopatra良好的捕獲...更新爲v7 ... http:// docs .oracle.com/JavaSE的/ 7 /文檔/ API/JAVA /文本/ SimpleDateFormat.html – 2012-03-20 14:34:41

回答

1

捆綁java.util.Date和.Calendar類是出了名的麻煩。避免它們。請使用喬達時間或新java.time包中的Java 8

喬達時間

DateTimeZone timeZone = DateTimeZone.ForID("Asia/Kolkata"); 
DateTime dateTime = new DateTime("2012-03-20T22:30:00.000+05:30", timeZone); 
Java.util.Locale locale = java.util.Locale.Builder().setLanguage("en").setRegion("IN").build(); 
DateTimeFormatter formatter = DateTimeFormat.forStyle("SS").withLocale(locale).withZone(timeZone); 
String output = formatter.print(dateTime); 
3

試試這個:

String dateStr = new SimpleDateFormat("yyyy-MM-dd hh:mm a").format(new Date()); 
相關問題