时间纪元

所谓的”时间纪元”就是1970年1月1日0时0分0秒,指的是开始的时间。比如Java类代码:
Date date = new Date(0);
System.out.println(date);
打印出来的结果:
Thu Jan 01 08:00:00 CST 1970
也是1970年1月1日,实际上时分秒是0点0分0秒,这里打印出来的时间是8点而非0点,原因是存在系统时间和本地时间的问题,其实系统时间依然是0点,只不过我们的电脑时区设置为东8区,故打印的结果是8点。

时区划分

地球是自西向东自转,东边比西边先看到太阳,东边的时间也比西边的早。东边时刻与西边时刻的差值不仅要以时计,而且还要以分和秒来计算,这给人们带来不便。
为了克服时间上的混乱,1884年在华盛顿召开的一次国际经度会议(又称国际子午线会议[1] )上,规定将全球划分为24个时区(东、西各12个时区)。规定英国(格林尼治天文台旧址)为中时区(零时区)、东1-12区,西1-12区。每个时区横跨经度15度,时间正好是1小时。最后的东、西第12区各跨经度7.5度,以东、西经180度为界。每个时区的中央经线上的时间就是这个时区内统一采用的时间,称为区时,相邻两个时区的时间相差1小时。例如,中国东8区的时间总比泰国东7区的时间早1小时,而比日本东9区的时间迟1小时。因此,出国旅行的人,必须随时调整自己的手表,才能和当地时间相一致。凡向西走,每过一个时区,就要把表拨慢1小时(比如2点拨到1点);凡向东走,每过一个时区,就要把表拨快1小时(比如1点拨到2点)。并且规定英国(格林尼治天文台旧址)为本初子午线,即零时(24时)经线。

时区获得

通过java.util.TimeZone类中getDefault方法的获取当前系统的时区。这个类最终是会调用sun.util.calendar.ZoneInfo类的getTimeZone 方法。这个方法返回一个string类型的时区ID。默认的时区ID是从System类的user.timezone属性那里得到。如果user.timezone没有定义,它就会尝试从user.country和java.home属性来得到ID。 如果它没有成功找到一个时区ID,它就会使用GMT作为系统默认的时间区域。

补充:System类的属性是在java.lang.System类的initProperties方法中被初始化的。这是一个本地方法。在Windows系统中,System属性是从Windows注册表中被初始化的,而在Linux/Unix中是由环境变量来进行初始化。

转载自:时间纪元与时区介绍

java 时间纪元与时区介绍相关推荐

  1. Java时间处理5---Java8中时区相关类库介绍

    前言 在Java8以前,我们对于时区的处理通常是为时间转换类设置指定TimeZone,然后进行时区时间转换. 而在Java8中不仅对时间日期进行了细粒度处理,有无时区,时区处理也进行了更加细粒度的优化 ...

  2. 机器时区导致Java时间与当前时间相差13小时的解决方案

    在机器使用date命令获取的时间与当前时间一致,但在Java中去获取时间相差了13个小时,这很可能就是机器的时区不太满足当前需要,这时候可以在Java中获取一下时区: 测试机器时区 import ja ...

  3. SpringBoot Mysql数据库与Java时间差8小时 UTC是全球标准时间 GMT%2B8是东八区,不能用UTC 否则Java时间与数据库时间会有8h时差 时区

    UTC是全球标准时间 GMT%2B8是东八区,不能用UTC 否则Java时间与数据库时间会有8h时差 #like12 find,bug,UTC是全球标准时间 GMT%2B8是东八区,不能用UTC 否则 ...

  4. Java 时间, 日历类详解

    1. Java时间戳 在最早出现的 UNIX 操作系统考虑到计算机产生的年代和应用的时限,把1970年1月1日0点定义为时间纪元,这种定义时间的方式在计算机语言中广泛存在,Java就是其中之一.之所以 ...

  5. Java SE 8新功能介绍:使用新的DateTime API计算时间跨度

    使用Java SE 8新的DateTime API JSR 310-可以实现更清晰,可读且功能强大的编码. Java SE 8,JSR 310 在上一篇文章" 使用Streams API处理 ...

  6. Java时间和日期指南

    长期以来,正确处理日期,时间,时区,夏时制,and年等一直是我的烦恼. 本文并不是一个全面的指南时域,请参阅日期和时间在Java中 -更详细,但略有下降,ekhem,日期. 它仍然是相关的,但是没有涵 ...

  7. Java时间操作类库—Joda-Time

    点赞再看,养成习惯,公众号搜一搜[一角钱技术]关注更多原创技术文章.本文 GitHub org_hejianhui/JavaStudy 已收录,有我的系列文章. 前言 上一周在做一个产品的需求的时候有 ...

  8. java时间,日期,毫秒值,String的相互转换总结

    java时间日期的各种转换总结以及应用实例 由于工作中经常要用到时间,日期,以及当前时间的毫秒值等 很多时候涉及到了它们之间的相互转换,今天就好好的总结一下. 首先基本介绍一下java中有关时间,日期 ...

  9. xk-time 1.0.0 发布,Java 时间工具包

    xk-time 1.0.0 发布了,更新如下: 1.时间戳Timestamp转换和计算. 2.代码优化. 软件介绍: xk-time xk-time is a datetime converter c ...

最新文章

  1. ZooKeeper增加Observer部署模式提高性能(转)
  2. Spring Cloud生态的配置服务器最全对比贴
  3. 利用 git format-patch 和 git send-email 把修改的 patch 文件发送给 ffmpeg-devel
  4. 世界手机号码格式_脑炎康复之旅——世界脑炎日病友征文
  5. C++ 用遗传算法解决TSP问题,旅行商问题
  6. c++ 如何获取移动硬盘型号信息_工程销售,如何高效快速获取项目信息
  7. HibernateTemplate使用方法
  8. java utf8 简繁转换 类库_在Java中进行中文繁体简体转换,基于OpenCC(Open Chinese Convert)方案...
  9. 用数据库表填充下拉列表框
  10. java定时任务之quartz
  11. Wintel做不了“山寨机顶盒”的救星
  12. 买水货必看!你必须知道的10件事情
  13. springBoot2学习
  14. [Leetcode 393] UTF-8 Validation
  15. latex 表格如何精细控制行高,行距,行与行之间的距离
  16. Python动态爬虫爬取京东商品评论
  17. CVPR2020 | MAL:联合解决目标检测中的定位与分类问题,自动选择最佳anchor
  18. 鸿图霸业nbsp;谁与争锋
  19. 如何选择移动广告平台,对比参数详细罗列
  20. /tmp/cc8TKj9o.s: Assembler messages

热门文章

  1. 如何把阿里云盘变成本地硬盘
  2. 智能化CSS检测法,好优化拒绝冗杂代码
  3. win10如何打开计算机端口,win10系统开启计算机端口的操作方法
  4. 程序员装机软件 list
  5. 【高效程序员系列】别做机器人——让工作自动化
  6. Arch linux 安装 docker
  7. 360以安全之名做搜索,可信,还是欺世盗名?
  8. OOP 三大特征之多态(Polymorphism)
  9. 二叉树--Huffman编码树--优先队列解法
  10. 聊聊去年最火的前端库zx