日期解析将PM转换为AM

时间:2014-02-27 00:32:19

标签: android date

在以下代码中,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 !!

为什么这样做? 谢谢, 迪安

3 个答案:

答案 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用于军事时间。