2014-02-27 19 views
0

在以下代碼中,myLeg.TimeStamp是一個字符串,它具有「Feb 26 2014 12:31:23 PM」 myRTleg.Tstamp是日期。將PM轉換爲AM的日期分析

SimpleDateFormat formatter = new SimpleDateFormat("MMM d, yyyy HH:mm:ss a"); 
myRTleg.TStamp = formatter.parse(myLeg.TimeStamp); 
String debugStr = myRTleg.TStamp.toString(); 

DebugStr在它有相同的確切日期,但它有AM而不是PM!

它爲什麼這樣做? 謝謝, 院長

回答

0

http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html

h小時在(0-23) ......在AM/PM h小時(1-12)

所以儘量 的SimpleDateFormat格式= new SimpleDateFormat(「MMM d,yyyy hh:mm:ss a」);

的AM/PM很可能默認爲點多,被忽略,因爲時間是HH(軍事),而不是HH

+0

是的,這是HH而不是hh。謝謝 –

0

您沒有提供完整的輸入和輸出日期。檢查輸入日期和輸出日期的時區,看看它們是否不同。它可能只是相同的日期,但使用不同的時區格式化。

0

您需要使用hh而不是HH。 HH用於軍事時間。

相關問題