zoukankan      html  css  js  c++  java
  • .NET、PHP、MySql、JS中的时间戳你每次是手写还是复制?这篇文章让你一次性搞懂

    什么是时间戳(chuō)?

    答:时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总秒数。

    为什么时间戳要从1970年01月01日00时00分00秒开始呢?

    答:很多编程语言起源于UNIX系统,而UNIX系统认为1970年1月1日0点是时间纪元,所以为偶们常说的UNIX时间戳是以1970年1月1日0点为计时起点时间的。更复杂的解释可以参考这篇:https://blog.csdn.net/kang19940713/article/details/60466393/

    格林尼治(格林威治)时间是什么?下图是:英国伦敦格林尼治天文台

    答:世界时即格林尼治平太阳时间,是指格林尼治所在地的标准时间,也是表示地球自转速率的一种形式。简单点就是国际标准时间

    北京时间与格林威治时间有什么不一样吗?

    因为北京处于国际时区划分中的东八区,同格林威治时间(世界时)整整相差8小时(即北京时间=世界时+8小时),故命名为“北京时间”。

    .NET中的时间戳,长度是:10位

    //需要自己写函数生成时间戳,ts.TotalSeconds返回的是精确到毫秒的时间戳,我们用ConvertTo.Int64将精确到毫秒的时间戳转成精确到秒
    public long GetTimeStamp() {
         TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 0, 0, 0);
         return Convert.ToInt64(ts.TotalSeconds);
    }
    //根据北京时间进行生成的时间戳,将小时处:+8个小时即可
    public
    long GetTimeStamp() { TimeSpan ts = DateTime.Now - new DateTime(1970, 1, 1, 8, 0, 0); return Convert.ToInt64(ts.TotalSeconds); }

    JS中的时间戳有三种方式

    //JS中的时间戳长度为:13位,是根据电脑或手机系统时区进行计算的
    //精确到秒:1554219552000
    var timestamp1 = Date.parse(new Date());
    //精确到毫秒:1554219571036
    var timestamp2 = (new Date()).valueOf();
    //精确到毫秒:1554219579657
    var timestamp3 = new Date().getTime();
    //精确到秒的转换
    var res = timestamp3.toString().substr(0, 10);

    PHP中的时间戳,长度是:10位

    //PHP中的时间戳精确到秒
    echo time();
    //输出:1554219892

    MySql中的时间戳,长度是:10位

    #获取最新时间戳
    SELECT UNIX_TIMESTAMP();
    #指定一个固定时间获取时间戳
    SELECT UNIX_TIMESTAMP('2019-04-03 10:16:24');
    #时间戳转成:年月日时分秒格式
    SELECT FROM_UNIXTIME(UNIX_TIMESTAMP())

    其他语言的时间戳由于我没有学过其他语言所以就不会啦,如果你会留言回复。

  • 相关阅读:
    Springboot启动前执行方法
    UUID
    vue
    前端进阶
    动态代理
    c# 对接微信公众号JSSDK使用wx.uploadImage 上传图片,后台从微信服务器上下载的图片有问题损坏的解决办法
    浏览器数据库 IndexedDB基础使用
    使用Java命令行编译和打包jar
    ArcGIS JS API 路径回放
    基于Quick_SLPK_Server的NodeJs版I3S服务发布
  • 原文地址:https://www.cnblogs.com/shifubug/p/10645889.html
Copyright © 2011-2022 走看看