1、js代码 <script >
var a = Date.parse(new Date(2012, 11, 2, 23, 15, 11));
document.write(a);
</script>
得到的值是:
13544613110002、我用 java写的代码
private static void getMyTime() {
long time=Date.parse(new Date(2012, 11, 2, 23, 15, 11).toGMTString());
System.out.println(time);
}得到的却是:
61312605311000
为什么不一样呢?如何得到和js代码一样的值呢?谢谢
var a = Date.parse(new Date(2012, 11, 2, 23, 15, 11));
document.write(a);
</script>
得到的值是:
13544613110002、我用 java写的代码
private static void getMyTime() {
long time=Date.parse(new Date(2012, 11, 2, 23, 15, 11).toGMTString());
System.out.println(time);
}得到的却是:
61312605311000
为什么不一样呢?如何得到和js代码一样的值呢?谢谢
解决方案 »
- Error creating bean with name 'sqlMapClient'
- 高分求Linux下JavaEE Eclipse 部署网站的方法
- 为什么调CORBA出现NullPointerException?
- 读取ini
- 讨论关于SSH系统的开发繁杂性!
- 关于file upload
- (急)大伙帮帮忙呀!关于servlet激活与filter的问题?
- j2ee 与 J2ME 有何区别???????????????
- struts中的 <html:errors/>问题
- 试问Borland Enterprise Server服务器中从客户端访问服务器jndi服务的上下文参数
- hibernate实体继承问题(派生类重写基类某属性的get方法)
- HttpClient报NullPointerException
输出M:on Dec 02 23:15:11 CST 3912,斑竹!!!!
这个和LZ要的要求不一样,我今天早上试试了,也没找到解决方案。
不知道LZ现在为什么要前台js和java来用这个。
模拟网站登录啊!java传递的cookie参数就是这个js执行的结果,所以java执行的结果要和js一致
输出M:on Dec 02 23:15:11 CST 3912,斑竹!!!!
先不说代码又没有错,就从两个角度,
js是获取client端的时间,
而java写的是获取server端的时间,
两个时间或多或少有误差d,
楼主还转成毫秒来计算,那误差就更大了~
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类
js是从1970年开始计算的
<script >
var a = Date.parse(new Date(2012-1970, 11, 2, 23, 15, 11));
document.write(a);
</script>
得到的值是:
1354461311000 private static void getMyTime() {
long time=Date.parse(new Date(2012-1900, 11, 2, 23, 15, 11).toGMTString());
System.out.println(time);
}
var a = Date.parse(new Date(2012-70, 11, 2, 23, 15, 11));
document.write(a);
</script> private static void getMyTime() {
long time=Date.parse(new Date(2012, 11, 2, 23, 15, 11).toGMTString());
System.out.println(time);
}