扫盲篇带你了解计算机中的时间

写在前面

时间戳是一种表示时间的数字标识

UTC协调世界时

UTC 协调世界时,又称世界统一时间、世界标准时间、国际协调时间。

UNIX时间戳

指格林威治时间 1970-1-1 00:00:00 UTC (北京时间1970-01-01 08:00:00)开始所经过的秒数,不考虑闰秒,又名 Unix epoch、Unix time、POSIX time。

特点

  • 精度为秒级,能表示的时间范围为1970年至2038年。
  • 可以用32位整数表示,存储空间较小,易于处理和计算。
  • 在Unix/Linux系统中,常用命令将Unix时间戳转换为可读的日期时间格式,如date命令。

Java时间戳

Java时间戳是指从 1970-1-1 00:00:00 UTC (北京时间1970-01-01 08:00:00)起经过的毫秒数,以长整数形式表示。它比Unix时间戳的精度更高,能表示更精确的时间。

特点:

  • 精度为毫秒级,能表示的时间范围为1970年至292,277,026,596年。请注意,虽然返回值的时间单位是毫秒,但值的粒度取决于底层操作系统,可能更大。
  • 可以用64位整数表示,存储空间较大,但能表示的时间范围更广。
  • 在Java中,可以使用Date类或Calendar类将Java时间戳转换为可读的日期时间格式。

RFC-2822标准格式

特点

  • 格式:Weekday, DD Mon YYYY HH:mm:ss ±HHMM,其中Weekday表示星期几,Mon表示月份的缩写,±HHMM表示时区信息,表示相对于UTC的偏移量。
  • RFC2822的时间精度只能到秒级别

RFC-3339标准格式

  • 格式为YYYY-MM-DDTHH:mm:ss.sssZ,其中Z表示UTC时区,可以使用+/-hh:mm表示其他时区。
  • 可以表示毫秒级别的精度,比ISO时间戳更加精确。
  • 常用于Web API、JSON数据、日志记录等场景中。
// GMT+0800(CST)代表东八区
// CST(china standard time)表示中国标准时间

Thu Jul 28 2022 10:48:05 GMT+0800(CST)  // 北京时间2022年7月28日周四10:48:05
1234

ISO-8601标准格式

ISO时间戳是一种标准格式,采用ISO 8601标准,表示年月日时分秒和时区信息。它能表示更多的时间信息,如时区和夏令时等,但不易于计算和处理。

特点:

  • 格式为YYYY-MM-DDTHH:mm:ss±hh:mm
    • 其中T表示日期和时间之间的分隔符,±hh:mm表示时区信息。
    • YYYY:年,0000 ~ 9999
    • MM: 月,01 ~ 12
    • DD: 日,01 ~ 31
    • T: 日期和时间之间的分隔符
    • HH: 小时,00 ~ 24
    • mm: 分钟,00 ~ 59
    • ss: 秒,00 ~ 59
    • ±hh:mm: 表示时区信
  • 可以表示精确到秒的时间,但不支持毫秒级别的精度。
  • 常用于Web应用程序、XML文档等场景中。
2022-07-28T10:48:05+08:00  // 北京时间2022年7月28日10:48:05
2022-07-28T02:48:05Z  // 世界标准时间2022年7月28日02:48:05,零时区

The end.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

伊成

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值