Java 为什么我的日期显示不正确?
我使用了SimpleDataFormat:Java 为什么我的日期显示不正确?,java,javascript,date,Java,Javascript,Date,我使用了SimpleDataFormat: SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss"); value.adStartDate = df.parse("2011/11/11 11:11:11"); 我本来希望日期会像我提供的字符串一样出来,但我得到的却是: Fri Nov 11 2011 11:11:11 GMT-0500 (Eastern Standard Time) 这显示在我使用Javascript创
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
value.adStartDate = df.parse("2011/11/11 11:11:11");
我本来希望日期会像我提供的字符串一样出来,但我得到的却是:
Fri Nov 11 2011 11:11:11 GMT-0500 (Eastern Standard Time)
这显示在我使用Javascript创建的表单上
有没有办法“强制”窗体上的输出与字符串类似
基本上,我希望将格式为“yyyy/MM/dd hh:MM:ss”的日期传递给使用Javascript生成的表单,并让表单以相同的格式显示它。您希望实现什么?您已成功地将
“2011/11/11 11:11:11”
字符串
解析为java.util.Date
对象Date.toString()
生成您看到的字符串(2011年11月11日星期五11:11:11 GMT-0500(东部标准时间))
如果您现在想将
日期
对象格式化回字符串
,请使用df.format()
,这与df.parse()
相反,您想实现什么?您已成功地将“2011/11/11 11:11:11”
字符串
解析为java.util.Date
对象Date.toString()
生成您看到的字符串(2011年11月11日星期五11:11:11 GMT-0500(东部标准时间))
如果您现在想将
日期
对象格式化回字符串
,请使用df.format()
,与df.parse()
相反,一件事是解析,另一件事是格式化
选中此示例以显示格式化字符串
@Test
public void testDateFormat() throws ParseException {
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
Date myDate = df.parse("2011/11/11 11:11:11");
System.out.println(df.format(myDate));
}
输出:
2011/11/11 11:11:11
一件事是解析,另一件事是格式化 选中此示例以显示格式化字符串
@Test
public void testDateFormat() throws ParseException {
SimpleDateFormat df = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
Date myDate = df.parse("2011/11/11 11:11:11");
System.out.println(df.format(myDate));
}
输出:
2011/11/11 11:11:11
我也这么认为,但是
日期#toString()
的格式有点不同。一年应该在时间之后。这里发生了更多的事情。没错,它实际上是用:dow mon dd hh:mm:ss zzz yyyy-奇怪…基本上我想把一个“yyy/mm/dd hh:mm:ss”格式的日期传递给一个表单,并让该表单以相同的格式显示日期…@Joe:使用格式()
方法将日期转换为字符串。日期
不记得任何格式。它所持有的只是大纪元时间。它的toString()
所做的只是打印一个内置的预定义格式(但是,无论你得到什么,你是如何传递它的,你使用的是什么Java版本?)不。在传递之前,你需要用Java进行转换。JavaScript不理解java.util.Date
对象或其他东西。它从服务器端理解的只是普通字符串。我也这么认为,但是日期#toString()
的格式有点不同。一年应该在时间之后。这里发生了更多的事情。没错,它实际上是用:dow mon dd hh:mm:ss zzz yyyy-奇怪…基本上我想把一个“yyy/mm/dd hh:mm:ss”格式的日期传递给一个表单,并让该表单以相同的格式显示日期…@Joe:使用格式()
方法将日期转换为字符串。日期
不记得任何格式。它所持有的只是大纪元时间。它的toString()
所做的只是打印一个内置的预定义格式(但是,无论你得到什么,你是如何传递它的,你使用的是什么Java版本?)不。在传递之前,你需要用Java进行转换。JavaScript不理解java.util.Date
对象或其他东西。它从服务器端所理解的只是普通字符串,问题是由您如何将其传递回HTML的方式引起的。毕竟,您需要SimpleDateFormat#format()
以所需的模式将Date
转换为String
。您在Java代码中是否将日期用于任何中间用途?因为如果不是的话,你只是给你的代码增加了一个“复杂度”级别,没有额外的好处。这个问题是由你如何将它传递回HTML的方式引起的。毕竟,您需要SimpleDateFormat#format()
以所需的模式将Date
转换为String
。您在Java代码中是否将日期用于任何中间用途?因为如果不是这样的话,您只是在代码中添加了一个“复杂性”级别,而没有额外的好处。