美文网首页千钻公会程序员Web前端之路
你会见证11位时间戳的出现!

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

作者: zhaoolee | 来源:发表于2019-01-04 19:47 被阅读10次

    从格林尼治时间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位时间戳的出现

    相关文章

      网友评论

        本文标题:你会见证11位时间戳的出现!

        本文链接:https://www.haomeiwen.com/subject/gpmkrqtx.html