码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • 时间戳的理解


    时间戳的理解

    • 背景
    • 定义
    • 解释
      • 日期和时间的表示方法
      • UTC
      • 在中国的时间戳
    • 总结
    • 延伸
    • 参考资料

    背景

    最近需求涉及到不同时区的时间展示,发现自己对于时间戳的理解存在误差。

    定义

    Unix 时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。
    UNIX时间戳的 0 按照 ISO 8601 规范为 :1970-01-01T00:00:00Z.

    解释

    简单来说,时间戳是当前时间距离 1970-01-01T00:00:00Z 有多少秒。
    比如,当前时间为 2022年7月6日10点32分50秒,故这个时间点对应的时间戳为 1657074770

    2022年7月6日10点32分50秒 - 1970年1月1日0点0分0秒 = 1657074770 (秒)

    这里忽略了两个东西,1970-01-01T00:00:00Z 中,字母T和字母Z是什么含义呢?

    日期和时间的表示方法

    根据 ISO 8601中规定:

    1、对UTC时间最后加一个大写字母Z

    例如:UTC时间下午2点30分5秒表示为14:30:05Z

    2、日期和时间的合并表示时,要在时间前面加一大写字母T

    例如:北京时间2004年5月3日下午5点30分8秒,可以写成2004-05-03T17:30:08+08:00

    所以,字母T是一种固定的表示方式,可以忽略;而UTC时间是什么意思呢?

    UTC

    UTC为世界标准时间;人为划定一个区域的时间为标准时间。

    例如:北京时间 2004-05-03T17:30:08+08:00,其中的+08:00为+8小时,就是相对与标准时间再+8小时

    在中国的时间戳

    回到时间戳的定义上,时间戳定义为两个时间点的秒数差,那么两个时间点的 时区一致 才能做减法,例如:

    在国内获取的当前时间为 2022-07-06 11:19:31,更标准的表示为 2022-07-06T11:19:31 +08:00
    在国内计算时间戳时的时间起点为 1970-01-01T00:00:00 +08:00
    时间戳 = 2022-07-06T11:19:31 +08:00 - 1970-01-01T00:00:00 +08:00
    而不是 2022-07-06T11:19:31 +08:00 - 1970-01-01T00:00:00Z

    总结

    • 时间戳是 绝对的,同一时间点上,在世界上任何国家计算出的时间戳均是同一个值
    • 时间是包含时区的,相同时区 的时间才能做减法

    延伸

    • 存储中使用时间戳的优势之一是可以在代码中动态的格式化为不同国家(时区)的时间,不受外部环境(如db)的影响

    参考资料

    unix时间戳定义
    ISO 8601
    UTC

  • 相关阅读:
    mysql
    文档翻译软件-大家都在使用的批量文档翻译软件
    树形结构的节点作为查询参数业务
    语音处理——Pyannote使用学习
    快手一面:讲一讲 Hadoop、Hive、Spark 之间的关系?
    Nacos注册中心1-nacos源码环境搭建
    无法访问mybatis.dto.StudengInVO-使用maven编译报错
    javaweb JAVA JSP销售系统购物系统jsp购物系统购物商城系统源码(jsp电子商务系统)网上在线销售
    Android修行手册 - TextureView和SurfaceView说明
    数据挖掘(2)数据预处理
  • 原文地址:https://blog.csdn.net/snowin1994/article/details/125634183
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号