我在java servlet中得到惊喜结果。我将输入参数(日期)从jsp传递给servlet,如下所示:
<input name='date_allow_empty' type='text' value='' class='date picker' />
日期选择器位于:http://jsfiddle.net/cBwEK/
让我说我选择了:05-04-2012,当我把这个日期传递给servlet然后我得到了:
1333620371
但我应该在servlet中获得05-04-2012
Servlet:
String t= request.getParameter("date_allow_empty");
out.println(t); //displaying 1333620371 in stead of 05-04-2012
为什么在servlet中显示这种类型的结果?
答案 0 :(得分:3)
该值1333620371
是自大纪元(1970年1月1日)以来的秒数。要从中创建Java Date
,请使用Date(long)
构造函数,该构造函数自The Epoch以来需要 milli 秒(因此您乘以1,000):
Date dt = new Date(value * 1000);
如果您的价值为String
,则首先需要parseLong
,例如:
Date dt = new Date(Long.parseLong(value, 10) * 1000);
答案 1 :(得分:0)
您将获得自1970年1月1日00:00:00 GMT以来的秒数,请参阅:http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#getTime()
要将其转换为java.util.Date对象,只需使用:
String t= request.getParameter("date_allow_empty");
Date theDate = new Date(Long.valueOf(t) * 1000);
(http://docs.oracle.com/javase/6/docs/api/java/util/Date.html#Date(长))
编辑:它是以秒为单位,而不是毫秒:(