java 时间纪元与时区介绍
时间纪元
所谓的”时间纪元”就是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 时间纪元与时区介绍相关推荐
- Java时间处理5---Java8中时区相关类库介绍
前言 在Java8以前,我们对于时区的处理通常是为时间转换类设置指定TimeZone,然后进行时区时间转换. 而在Java8中不仅对时间日期进行了细粒度处理,有无时区,时区处理也进行了更加细粒度的优化 ...
- 机器时区导致Java时间与当前时间相差13小时的解决方案
在机器使用date命令获取的时间与当前时间一致,但在Java中去获取时间相差了13个小时,这很可能就是机器的时区不太满足当前需要,这时候可以在Java中获取一下时区: 测试机器时区 import ja ...
- SpringBoot Mysql数据库与Java时间差8小时 UTC是全球标准时间 GMT%2B8是东八区,不能用UTC 否则Java时间与数据库时间会有8h时差 时区
UTC是全球标准时间 GMT%2B8是东八区,不能用UTC 否则Java时间与数据库时间会有8h时差 #like12 find,bug,UTC是全球标准时间 GMT%2B8是东八区,不能用UTC 否则 ...
- Java 时间, 日历类详解
1. Java时间戳 在最早出现的 UNIX 操作系统考虑到计算机产生的年代和应用的时限,把1970年1月1日0点定义为时间纪元,这种定义时间的方式在计算机语言中广泛存在,Java就是其中之一.之所以 ...
- Java SE 8新功能介绍:使用新的DateTime API计算时间跨度
使用Java SE 8新的DateTime API JSR 310-可以实现更清晰,可读且功能强大的编码. Java SE 8,JSR 310 在上一篇文章" 使用Streams API处理 ...
- Java时间和日期指南
长期以来,正确处理日期,时间,时区,夏时制,and年等一直是我的烦恼. 本文并不是一个全面的指南时域,请参阅日期和时间在Java中 -更详细,但略有下降,ekhem,日期. 它仍然是相关的,但是没有涵 ...
- Java时间操作类库—Joda-Time
点赞再看,养成习惯,公众号搜一搜[一角钱技术]关注更多原创技术文章.本文 GitHub org_hejianhui/JavaStudy 已收录,有我的系列文章. 前言 上一周在做一个产品的需求的时候有 ...
- java时间,日期,毫秒值,String的相互转换总结
java时间日期的各种转换总结以及应用实例 由于工作中经常要用到时间,日期,以及当前时间的毫秒值等 很多时候涉及到了它们之间的相互转换,今天就好好的总结一下. 首先基本介绍一下java中有关时间,日期 ...
- xk-time 1.0.0 发布,Java 时间工具包
xk-time 1.0.0 发布了,更新如下: 1.时间戳Timestamp转换和计算. 2.代码优化. 软件介绍: xk-time xk-time is a datetime converter c ...
最新文章
- ZooKeeper增加Observer部署模式提高性能(转)
- Spring Cloud生态的配置服务器最全对比贴
- 利用 git format-patch 和 git send-email 把修改的 patch 文件发送给 ffmpeg-devel
- 世界手机号码格式_脑炎康复之旅——世界脑炎日病友征文
- C++ 用遗传算法解决TSP问题,旅行商问题
- c++ 如何获取移动硬盘型号信息_工程销售,如何高效快速获取项目信息
- HibernateTemplate使用方法
- java utf8 简繁转换 类库_在Java中进行中文繁体简体转换,基于OpenCC(Open Chinese Convert)方案...
- 用数据库表填充下拉列表框
- java定时任务之quartz
- Wintel做不了“山寨机顶盒”的救星
- 买水货必看!你必须知道的10件事情
- springBoot2学习
- [Leetcode 393] UTF-8 Validation
- latex 表格如何精细控制行高,行距,行与行之间的距离
- Python动态爬虫爬取京东商品评论
- CVPR2020 | MAL:联合解决目标检测中的定位与分类问题,自动选择最佳anchor
- 鸿图霸业nbsp;谁与争锋
- 如何选择移动广告平台,对比参数详细罗列
- /tmp/cc8TKj9o.s: Assembler messages