Java 时间处理

时区、冬令时和夏令时、时间戳

时间戳
距离一个标准参照时间经过的秒数(毫秒数)
有两个常用参照时间:

  1. 1970-01-01 00:00:00 应用最广泛的时间戳参照点
  2. 2001-01-01 00:00:00 常被苹果系统使用
注意:以上时间节点皆采用UTC的标准时区。

时间戳描述了距离某一时刻经过的时间跨度,是一个绝对值,和时区,冬夏令时没有关系。所以在地球上的同一时间点,对于同一参照点,获取到的时间戳都是完全一致的。

时区
1884年在华盛顿召开的国际经度会议(又称国际子午线会议)上,规定将全球划分为24个时区(东、西各12个时区)。

如下图所示:
时区示意图
全球同一时刻不同时区的本地时间不同例如:
中国时间:10:00 AM
对应美国西部时间:18:00 PM(冬令时) 17:00 PM(夏令时)

GMT VS UTC
GMT 全称 Greenwich Mean Time,中文为格林威治(格林尼治)标准时间
是指位于英国伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。

UTC 全称 Universal Time Coordinated, 世界标准时间

PST 全称 Pacific Standard Time,太平洋标准时间,等同于UTC/GMT -8,既西八区,被北美国家使用

CET
欧洲中部时间(Central European Time,CET)是比世界标准时间(UTC)早一个小时的时区名称之一。它被大部分欧洲国家和部分北非国家采用。冬季时间为UTC+1,夏季欧洲夏令时为UTC+2。

CST
北京时间,China Standard Time,又名中国标准时间,是中国的标准时间。在时区划分上,属东八区,比协调世界时早8小时,记为UTC+8,与中华民国国家标准时间(旧称“中原标准时间”)、香港时间和澳门时间和相同。當格林威治時間為凌晨0:00時,中國標準時間剛好為上午8:00。

GMT和UTC都是代表0时区的时间,两者相等。UTC是1972年之后引入的概念,是GMT的后继,现广泛应用于科技领域。

全球分为24个时区之后,从UTC/GMT 开始往西依次表示为UTC/GMT - 1,-2……,往东表示为UGC/GMT+1,+2……。

冬令时、夏令时
地球自转方向从西向东,所以东边更早看到新一天的太阳。各地区在时区概念的基础上,时间更接近于太阳时(最简单的理解就是太阳直射时,当地时间基本接近12点)。

昼夜长短会随着四季变换,出于减少能源消耗的目的,提出了冬令时、夏令时的概念。

在天亮早的夏季人为将时间提前一小时,可以使人早起早睡,减少照明量,以充分利用光照资源,从而节约照明用电。

冬令时通常代表使用当地的标准时间,夏令时实施期间时钟拨快一小时,相当于时区往前(东)进一个。

冬夏令时会导致有些天不是24h,而是23或25h。

每年会对时间进行两次调整,如下图所示:
冬令时、夏令时调整
总结

时间戳代表了距离某一标准参考时刻经过的(毫)秒数。所以可以唯一标识时间轴上的一点。

时区是为了人们生活的便利性,用于标识本地时间。

冬令时,夏令时出于节省能源消耗的目的提出的概念,可能会让每年的某一段时间内本地时间会前进一个小时。

在软件开发中,传递时间的时候为了无歧义,应该全部采用时间戳。在需要展示给用户的时候,需要考虑到用户本地的时区及冬令时、夏令时的情况计算出正确的本地时间。

参考:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/313894.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

试试这个Excel知识测验,得分超过80分算你赢

大家可能都知道,全世界使用Excel的用户超过了10亿。Excel的知识真所谓是博大精深,并且还很有趣味。我最近编写了一个Excel小工具,可以让大家可以在Excel里面进行各种知识小测验,并且与全世界的高手一比高低。这个小工具&#xff0…

自学架构设计?帮你总结了 4 个方法

从编程思维到架构思维的升级,是工作 3、5 年的程序员遇到的第一个槛,特别是当你准备晋升考核时。我有个哥们,技术和业务都很不错,腾讯 T2.3 升 T3.1,就卡在了架构设计这部分。架构这个事儿,不像算法和代码&…

.NET Core 3.0及ASP.NET Core 3.0 前瞻

前几天微软发布了 .NET Core 3.0 Preview 9 ,这是.NET Core 3.0 最后一个预览版。[翻译] .NET Core 3.0 Preview 9 发布.NET Core 3.0 正式发布将在.NET Conf 上发布,.NET Conf 时间是9月23日至25日。Visual Studio 2019 16.3预览版3和Visual Studio for…

有了Unicode为啥还需要UTF-8

有了Unicode为啥还需要UTF-8 要回答这个问题,需要吃透“编码”的概念,刚好看到大神阮一峰写的文章:字符编码笔记:ASCII,Unicode 和 UTF-8 抄录如下,便于查找: 一、ASCII 码 我们知道&#xf…

升职却不加薪,为什么我还觉得老板说的挺有道理

前几天晚上,DevOps交流群里,有人抛出这样一个观点:如果有人来找我加薪,我一定告诉他我要给他升职,因为升职是免费的,加薪可是真的要花钱。但是我也会许诺他,如果他能把那个团队搞好,…

细节之中自有天地,整洁成就卓越代码

溪源 | 长沙.NET技术社区开篇我们总是很容易就能写出满足某个特定功能的代码,却很难写出优雅代码。又最欣赏那些优雅的代码,因为优雅代码更能体现一个开发者的积累。就像写一篇散文,有的就像初学者不得其门而入,遣词造句都非常困难…

一次业务网关用ASP.NET Core 2.1重构的小结

前言对于API网关,业界貌似对它进行下划分,有下面几个分类/场景。面向Web App面向Mobile App面向Partner OpenAPI面向Partner ExternalAPI其他。。。在18年8月份的时候,有幸用.NET Core 2.1重构了一个对外的业务网关项目,这个项目的…

推荐几个华为,字节跳动、蚂蚁金服等大佬的公众号

每一个公众号都是一个特色的图书馆,为我们的学习提供优质的服务,珍贵的资源,耐心看完,认真选择适合自己的良师益友吧。Python爱好者社区Python爱好者社区,这里有分类整理好的历史优秀文章数千篇供你学习,内…

使用Ingress来负载分发微服务

目录 使用Ingress来负载分发微服务 Demo规划 准备Demo并完成部署 创建部署(Deployment)资源 创建服务(Service)资源 创建Ingress资源并配置转发规则 使用Ingress来负载分发微服务NodePort Service存在太多缺陷,不适合…

并发和并行及多线程基本概念

并发(Concurrent) 在操作系统中,是指一个时间段中有几个程序都处于已启动运行到运行完毕之间,且这几个程序都是在同一个处理机上运行,但任一个时刻点上只有一个程序在处理机上运行。 并发,本质上是一个物理…

XUnit 依赖注入

XUnit 依赖注入Intro现在的开发中越来越看重依赖注入的思想,微软的 Asp.Net Core 框架更是天然集成了依赖注入,那么在单元测试中如何使用依赖注入呢?本文主要介绍如何通过 XUnit 来实现依赖注入, XUnit 主要借助 SharedContext 来…

程序员自家种水果,新鲜包邮配送!

点击上面“蓝字”关注我们!上次猕猴桃的活动一经推出,得到了广大粉丝的支持,我感到十分欣慰,非常感谢大家对我的信任。好多小伙伴,买了一箱尝过后又下单了好几箱。事实证明,品质才是销量的最佳保证。有些粉…

实现一个简单的基于码云(Gitee) 的 Storage

实现一个简单的基于码云(Gitee) 的 StorageIntro上次在 asp.net core 从单机到集群 一文中提到存储还不支持分布式,并立了一个 flag基于 github 或者 开源中国的码云实现一个 storage于是这两天就来填坑了。。实现了一个简单的基于开源中国的码云的 storage准备工作…

Java线程的6种状态

线程的概念,以及线程的创建方式,见我之前写的博文 本篇文章主要讲Java线程的6种状态 6种状态:初始状态(new) 、可运行状态(Runnable)、运行状态(Running)、阻塞状态&am…

.NET Core 微信小程序支付——(统一下单)

最近公司研发了几个电商小程序,还有一个核心的电商直播,只要是电商一般都会涉及到交易信息,离不开支付系统,这里我们统一实现小程序的支付流程(与服务号实现步骤一样)。目录1、开通小程序的支付能力2、商户…

用.NET写“算命”程序

前言“算命”,是一种迷信,我父亲那一辈却执迷不悟,有时深陷其中,有时为求一“上上签”,甚至不惜重金,向“天神”保佑。我曾看到过有些算命网站,可以根据人的生辰八字,来求得这个人一…

ASP.NET Core 3.0 迁移避坑指南

一.前言.NET Core 3.0将会在 .NET Conf 大会上正式发布,截止今日发布了9个预览版,改动也是不少,由于没有持续关注,今天将前面开源的动态WebApi项目迁移到.NET Core 3.0还花了不少时间踩坑,给大家分享一下我在迁移过程中…

打不死我的,终将使我强大!DevOps黑客马拉松参赛心得

(IDCF DevOps黑客马拉松到底是个啥活动?)长得丑活得久、长得帅也惹人爱!大家好,我是刘威。隆正信息的业务架构师-花名逸云。非常荣幸可以参加在北京举办的第一届DevOps黑客马拉松比赛。黑客马拉松不是突然冒出来的&…

Java线程池面试题

1、什么是线程池 java.util.concurrent.Executors提供了一个 java.util.concurrent.Executor接口的实现用于创建线程池 多线程技术主要解决处理器单元内多个线程执行的问题,它可以显著减少处理器单元的闲置时间,增加处理器单元的吞吐能力。 假设一个服…

「标签管理」使用标签管理有道云笔记资料

因着大家对文件标签化比较高难道,需要熟悉一个标签工具软件,所以今天暂时来介绍个简单一些的网络资料的标签化管理,使用有道云笔记作为落地工具,同理在OneNote、印象笔记上原理类似。有道云笔记免费功能够用为了选择哪个笔记产品&…