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代码一样的值呢?谢谢

解决方案 »

  1.   

    long time=Date.parse(new Date(2012, 11, 2, 23, 15, 11).toString()) ?不行 拿到的值不一样
      

  2.   

    System.out.println(new Date(2012, 11, 2, 23, 15, 11).toString());这个不行啊!
    输出M:on Dec 02 23:15:11 CST 3912,斑竹!!!!
      

  3.   


    这个和LZ要的要求不一样,我今天早上试试了,也没找到解决方案。
    不知道LZ现在为什么要前台js和java来用这个。
      

  4.   


    模拟网站登录啊!java传递的cookie参数就是这个js执行的结果,所以java执行的结果要和js一致
      

  5.   

    System.out.println(new Date(2012, 11, 2, 23, 15, 11).toString());这个不行啊!
     输出M:on Dec 02 23:15:11 CST 3912,斑竹!!!! 
      

  6.   

    怎么会一样呢~
    先不说代码又没有错,就从两个角度,
    js是获取client端的时间,
    而java写的是获取server端的时间,
    两个时间或多或少有误差d,
    楼主还转成毫秒来计算,那误差就更大了~
      

  7.   


    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类
      

  8.   

    这种情况下还是都把他们用毫秒数来转换。new Date().setTime(miliseconds);
      

  9.   

    java 是从1900年开始计算的
    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);
    }
      

  10.   

     所以 也可以这样写<script >
    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);
    }