不同的长值产生相同的时间

 啵__啵_891 发布于 2023-02-10 13:55

我很难过.这对我来说毫无意义.以下代码:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
long lFirst = 1383460981000L;
long lSecond = 1383464581000L;
System.out.println(lFirst);
System.out.println(lSecond);

java.util.Date first  = new Date(lFirst);
java.util.Date second = new Date(lSecond);

System.out.println(sdf.format(first));
System.out.println(sdf.format(second));

System.out.println(first.getTime());
System.out.println(second.getTime());

System.out.println("Diff" + (first.getTime() - second.getTime()));

System.out.println("Hours diff: " + (((float)(second.getTime()-first.getTime()))/1000f/60f/60f));

产生以下输出:

1383460981000
1383464581000
2013-11-03 01:43:01.000
2013-11-03 01:43:01.000
1383460981000
1383464581000
Diff-3600000
Hours diff: 1.0

这两个不同的长值如何产生完全相同的日期?我在执行从一种数据库类型到另一种数据库类型的数据迁移并验证结果时遇到了这种情况.我无法理解我所看到的验证失败,所以我创建了一小段代码来比较这些值,确定无疑.虽然我愿意接受我的数据库中存在一些时区怪异,但这似乎不是这个代码示例中的问题.

1 个回答
  • 这可能是夏令时变化的时刻:时间从凌晨1点到凌晨2点,再次回到凌晨1点.所以,如果你加1小时到1:43:01,你会回到1:43:01.

    2023-02-10 13:56 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有