在以下代码中,myLeg.TimeStamp是一个字符串,其中包含“2014年2月26日12:31:23 PM” myRTleg.Tstamp是一个日期。
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 :(得分:0)
从 http://docs.oracle.com/javase/6/docs/api/java/text/SimpleDateFormat.html
H小时(0-23) ... h上午/下午(1-12)小时
所以试试 SimpleDateFormat formatter = new SimpleDateFormat(“MMM d,yyyy hh:mm:ss a”);
AM / PM可能默认为AM,被忽略因为小时数是HH(军事)而不是......
答案 1 :(得分:0)
您没有提供完整的输入和输出日期。检查输入日期和输出日期的时区,看它们是否不同。它可能只是相同的日期,但使用不同的时区进行格式化。
答案 2 :(得分:0)
您需要使用hh数小时而不是HH。 HH用于军事时间。