• java中Date类之GMT、UTC


    一、GMT(格林威治时间)Greenwich Mean Time

    以经过格林威治的子午线为零度经度线(本初子午线),把地球分为东西两半,进行时间的计算;

    精确度相对较低;

    GMT本地时间,是由时区换算得到的;

    XP系统中,默认时间格式是GMT。

    二、UTC(世界协调时)Coordinated Universal Time

    以国际原子时作为计量单位,更为精确;UTC没有时区的概念,只有偏移量;

    Win7之后,默认时间格式已经改成了UTC;

    UTC时间格式为:YYYY-MM-DDThh:mm:ssZ

    例如,2014-11-11T12:00:00Z(为北京时间2014年11月11日20点0分0秒);

    若现在UTC时间是 10:30z(z表示偏移量=0,不可省略),则北京时间为 10:30 +0800、纽约时间为 10:30 -0500,分别表示同日下午6点半、同日上午五点半。

    中国大陆、中国香港、中国澳门、中国台湾、蒙古国、新加坡、马来西亚、菲律宾、西澳大利亚州的时间与UTC的时差均为+8,也就是UTC+8。

    三、时间戳

    计算机中的UNIX时间戳,是以GMT/UTC时间「1970-01-01T00:00:00」为起点

    四、java处理日期时间

    1、jdk1-7

    使用java.util.date处理日期时间;Java使用java.util.TimeZone来表示时区

    Date对象里存的是自格林威治时间( GMT)1970年1月1日0点至Date所表示时刻所经过的毫秒数,是个数值。

    currDate.toString()——Fri Jan 15 10:22:34 CST 2021

    以上输出标准的UTC时间(CST就代表了偏移量 +0800)

    实际业务中,需要对输出的时间进行格式化,使用java.text.DateFormat去处理;

    Java中对Date类型的输入输出/格式化,推荐使用DateFormat而非用其toString()方法;

    DateFormat是一个时间格式化器抽象类,SimpleDateFormat是其具体实现类,用于以语言环境敏感的方式格式化和解析日期。它允许格式化(日期→文本)、解析(文本→日期)和规范化。

    2、jdk8+

    使用JSR 310日期/时间;所有的 API都在java.time这个包内。

    使用了ZoneId表示时区,ZoneOffset表示UTC的偏移量。

    LocalXXX表示本地时间,也就是说是当前JVM所在时区的时间;ZonedXXX表示是一个带有时区的日期时间,它们能非常方便的互相完成转换。

    针对JSR 310日期时间类型的格式化/解析,有个专门的类java.time.format.DateTimeFormatter用于处理。

    DateTimeFormatter也是一个不可变的类,所以是线程安全的。

    3、处理方式

    五、知识扩展

    1、夏时令

    离现在最近是1986年至1991年用过夏令时(每年4月中旬的第一个周日2时 - 9月中旬的第一个星期日2时止): 1986年5月4日至9月14日 1987年4月12日至9月13日 1988年4月10日至9月11日 1989年4月16日至9月17日1990年4月15日至9月16日 1991年4月14日至9月15日

    夏令时是一个“非常烦人”的东西,大大的 增加了日期时间处理的复杂度。比如这个灵魂拷问:若你的出生日期是1988-09-11 00:00:00(夏令时最后一天)且存进了数据库,想一想,对此日期的格式化有没有可能就会出问题呢,有没有可能被你格式化成1988-09-10 23:00:00呢?

  • 相关阅读:
    Qt打开ui文件经常报错
    Web3.0与区块链有何不同?现在处于哪个阶段?
    1364. 顾客的可信联系人数量
    Redis主从复制
    Spring是什么?
    Looking for downloadable pre-built shared indexes关闭
    【推荐】Python常用的GUI框架!
    聊聊HttpClient的close
    《MATLAB 神经网络43个案例分析》:第36章 遗传算法优化计算——建模自变量降维
    【Python3】random.choices 权重随机选取 详解
  • 原文地址:https://blog.csdn.net/ren_luxia/article/details/127117153