首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >java.util.date窃听器?

java.util.date窃听器?
EN

Stack Overflow用户
提问于 2013-02-22 00:05:02
回答 1查看 1.3K关注 0票数 2

有bug是java.util.Date吗?在做一些测试时,我把毫秒设置为2147483647,这应该给我一个2038-01-19 03:14:07的日期,但它返回的是1970-01-25 20:31:23。也尝试了4294967295,得到了错误的答案,1970年-02-19 17:02:47。有人知道附近有什么工作吗

代码语言:javascript
复制
import java.util.*;
import java.io.*;


/*
centos 6.3 x64
java version "1.7.0_13"
Java(TM) SE Runtime Environment (build 1.7.0_13-b20)
Java HotSpot(TM) 64-Bit Server VM (build 23.7-b01, mixed mode)
*/


public class Test
{
   static public void main(String args[])
   {
      long ms = 2147483647L;

      java.util.Date d = new java.util.Date( ms );

      java.text.SimpleDateFormat df = new java.text.SimpleDateFormat( "yyyy-MM-dd HH:mm:ss" );
      // SHOULD be 2038-01-19 03:14:07
      System.out.println( df.format( d ) );         

      System.out.println(df.format(new Date(Long.MAX_VALUE)));

      System.out.println( "\n" + ms );
      System.out.println( Long.MAX_VALUE );
   }
}

1970年-01-25 20:31:23 292278994-08-17 07:12:55

2147483647 9223372036854775807

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-02-22 00:07:28

2147483647毫秒仅仅是24.8天,所以这就是为什么它出现在1970-01-25 20:31:23。

4294967295毫秒仅仅是49.7天,所以这就是为什么它出现在1970-02-19 17:02:47。

您可能是根据2147483647秒而不是毫秒计算所期望的。这不是java.util.Date中的错误;将秒值乘以1000转换为毫秒。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15014589

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档