你会见证11位时间戳的出现!

从格林尼治时间1970年1月1日0时0分0秒算起(北京时间1970年1月1日8时0分0秒), 开始计算时间戳

时间戳大致分两种格式

  • 一种是10位, 精确到秒(大多数情况)
  • 一种是13位, 精确到毫秒

时间戳可以用多久呢?

  • 我们可以大致算一下:

一年31536000秒,时间戳最多纪录 9999999999秒, 9999999999/31536000 ≈ 317 年, 10位的时间戳大约可以使用317年, 1970+317=2287年,也就是2286年就要考虑变更到11位时间戳了

如果精确计算一下(考虑闰年)

  • 10位时间戳耗尽的准确的时间是 2286年11月21日1时46分39秒
  • 11位时间戳耗尽的准确的时间是 5138年11月16日17时46分39秒
  • 12位时间戳耗尽的准确的时间是 33658年09月27日9时46分39秒

Python时间戳默认是10位(精确到秒)

import time
# 获取时间戳
timestamp = int(time.time())
print(timestamp)
# 将时间戳转换为结构化时间格式
struct_time = time.localtime(timestamp)
print(struct_time)

Javascript时间戳默认是13位(精确到毫秒)

// 获取毫秒时间戳(13位)
let timestamp = new Date().getTime();
console.log(timestamp);
// 将毫秒时间戳转换为结构化时间格式
let struct_time = new Date(timestamp);
console.log(struct_time);

小结

  • 在实际开发中, 为了避免重放攻击, 往往需要对http请求, 附加时间戳参数
  • 为了让开发文档更加明确易读, 时间戳要指明是10位或13位
  • 过两天就过年了, 如果想祝人长寿, 不如来一句, 你会见证11位时间戳的出现

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

扫码关注云+社区

领取腾讯云代金券