Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java数据解析_Java_Date - Fatal编程技术网

Java数据解析

Java数据解析,java,date,Java,Date,我正在尝试将以下字符串解析为日期对象:9/14/2012 9:50:56 PM 我使用以下格式: DateFormat formatter = new SimpleDateFormat("MM/dd/yy HH:mm:ss a"); formatter.setTimeZone(TimeZone.getTimeZone("America/New_York")); 但我一直得到以下日期:2012年9月14日星期五06:50:56 PDT 我好像休息了12个小时(考虑到时间的变化)。但是,当我解析以

我正在尝试将以下字符串解析为日期对象:9/14/2012 9:50:56 PM

我使用以下格式:

DateFormat formatter = new SimpleDateFormat("MM/dd/yy HH:mm:ss a");
formatter.setTimeZone(TimeZone.getTimeZone("America/New_York"));
但我一直得到以下日期:2012年9月14日星期五06:50:56 PDT

我好像休息了12个小时(考虑到时间的变化)。但是,当我解析以下字符串时:9/14/2012 1:00:00 AM-我得到了正确的日期对象:Thu Sep 13 22:00:00 PDT 2012


我做错了什么?

如果您的日期是上午/下午格式,您应该使用
hh
,而不是
hh
持续数小时。见参考资料:


这里发生的是
9
在24小时格式中被视为09小时,即上午9点,因此您的日期被正确地向后推3小时,使之成为上午6点。对于第二个日期,上午1点是01小时,并且日期是正确的。

两个答案似乎给出了与输入日期字符串相关的相同日期。我不明白你的问题是什么。两个日期都有3小时的差异9:50:56pm->6:50:56pm=3小时。22:00:00->1:00:00=3小时。