Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java日期奇怪的行为_Java_Date - Fatal编程技术网

Java日期奇怪的行为

Java日期奇怪的行为,java,date,Java,Date,Java Date类的行为非常奇怪: System.out.println(new Date().toGMTString()); long l = 1332452310L; Date d = new Date(l); System.out.println(d.toGMTString()); 给我 22 Mar 2012 22:00:42 GMT 16 Jan 1970 10:07:32 GMT 为什么会发生这种情况?您的长l是以秒为单位的时间,您需要将其设置为

Java Date类的行为非常奇怪:

    System.out.println(new Date().toGMTString());
    long l = 1332452310L;
    Date d = new Date(l);
    System.out.println(d.toGMTString());
给我

22 Mar 2012 22:00:42 GMT
16 Jan 1970 10:07:32 GMT

为什么会发生这种情况?

您的长l是以秒为单位的时间,您需要将其设置为以毫秒为单位的时间:

long l = 1332452310L * 1000L;

您给出的是秒数,而不是毫秒数,您应该这样做

日期(长)需要毫秒。将您的值乘以1000,然后检查您是否得到了预期的结果。

您必须将1000次传输时间从秒增加到毫秒才能输入数据。

您希望得到什么?date构造函数的长参数是自1970年1月1日以来的毫秒数。新日期现在给出。一个长参数表示1970年的毫秒。当您查阅文档时,文档告诉了您什么?对不起,我的错。晚些时候,我被没有L参数的超出范围的错误弄糊涂了。