js 中的Date.parse(new Date()) 在 java中 得到的值为什么不一样
1、js代码
<script >
var a = Date.parse(new Date(2012, 11, 2, 23, 15, 11));
document.write(a);
</script>
得到的值是:
1354461311000
2、我用 java写的代码
private static void getMyTime() {
long time=Date.parse(new Date(2012, 11, 2, 23, 15, 11).toGMTString());
System.out.println(time);
}
得到的却是:
61312605311000
为什么不一样呢?如何得到和js代码一样的值呢?谢谢
println(date.toString());
1、客户端返回的内容是new Date(2012, 11, 2, 23, 15, 11),下次提交时,执行这个js 把它作为cookie传递给后台
所以才需要java post参数要和这个js执行结果一致
2、
这个问题已经解决:js的时间计算基准是与1970年1月1日午夜之间所间隔的毫秒数。
在java中它已经过时了,查了一下api:从 JDK 1.1 开始,由 Calendar.set(year + 1900, month, date, hrs, min, sec) 或 GregorianCalendar(year + 1900, month, date, hrs, min, sec) 取代。
也就是说new Date(2012-1900, 11, 2, 23, 15, 11)得到的结果就和js一样的
当然,也可以用Calendar类
这种情况下还是都把他们用毫秒数来转换。new Date().setTime(miliseconds);