zoukankan      html  css  js  c++  java
  • 时间:UTC时间、GMT时间、本地时间、Unix时间戳

     
    1.UTC时间 与 GMT时间
     
    我们可以认为格林威治时间就是时间协调时间(GMT=UTC),格林威治时间和UTC时间均用秒数来计算的。
     
    2.UTC时间 与 本地时
     
    UTC + 时区差 = 本地时间
    时区差东为正,西为负。在此,把东八区时区差记为 +0800,
     
    UTC + (+0800) = 本地(北京)时间 (1)
    那么,UTC = 本地时间(北京时间))- 0800 (2)
     
    3.UTC 与 Unix时间戳
     
    在计算机中看到的UTC时间都是从(1970年01月01日 0:00:00)开始计算秒数的。所看到的UTC时间那就是从1970年这个时间点起到具体时间共有多少秒。 这个秒数就是Unix时间戳。
     
     
     
     
    如何在不同编程语言中获取现在的Unix时间戳(Unix timestamp)?
     
    Java
    System.currentTimeMillis()/1000
    JavaScript
    Math.round(new Date().getTime()/1000)
     
    getTime()返回数值的单位是毫秒
    C#
    (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
     
    Ticks:此属性的值表示自 0001 年 1 月 1 日午夜 12:00:00 以来已经过的时间的以 100 毫微秒为间隔的间隔数。
     
    从 0000年00月00日00:00:00-1970年01月01日00:00:00的刻度值(毫秒)
    1970 × 365 × 24 × 60 × 60 × 1000 × 10000 大概等于 621355968000000000
    MySQL
    SELECT unix_timestamp(now())
    Python
    先 import time 然后 time.time()
    SQL Server
    SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())
    Unix / Linux
    date +%s
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    如何在不同编程语言中实现Unix时间戳(Unix timestamp) → 普通时间?
     
    Java
    String date = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").format(new java.util.Date(Unix timestamp * 1000))
    JavaScript
    var unixTimestamp = new Date(Unix timestamp * 1000) 
    commonTime = unixTimestamp.toLocaleString()
    C#
    var date = new DateTime(1970,1,1).AddSeconds(Unix timestamp)
    MySQL
    from_unixtime(Unix timestamp)
    Python
    import time 
    time.gmtime(Unix timestamp)
    SQL Server
    DATEADD(s, Unix timestamp, '1970-01-01 00:00:00')
    Linux
    date -d @Unix timestamp
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
     
    如何在不同编程语言中实现普通时间 → Unix时间戳(Unix timestamp)?
     
    Java
    long epoch = new java.text.SimpleDateFormat("dd/MM/yyyy HH:mm:ss").parse("01/01/1970 01:00:00");
    JavaScript
    var commonTime = new Date(Date.UTC(year, month - 1, day, hour, minute, second))
    C#
    (DateTime.Parse("yyyy-mm-dd HH:MM:SS").Ticks - 621355968000000000) / 10000000
    MySQL
    SELECT unix_timestamp(time)
    时间格式: YYYY-MM-DD HH:MM:SS 或 YYMMDD 或 YYYYMMDD
    Python
    import time 
    int(time.mktime(time.strptime('YYYY-MM-DD HH:MM:SS', '%Y-%m-%d %H:%M:%S')))
    SQL Server
    SELECT DATEDIFF(s, '1970-01-01 00:00:00', time)
    Unix / Linux
    date +%s -d"Jan 1, 1970 00:00:01"
     

  • 相关阅读:
    关于存储过程
    关于TSql
    SQL问题+知识点总结总
    基于IEC61499标准的组件
    使用Irony开发译码器
    C#早期绑定&后期绑定
    .NET组件 vs. COM组件
    C#委托和事件
    广度优先搜索(BreadthFirstSearch)& 迪克斯特拉算法 (Dijkstra's algorithm)
    选择排序法&快速排序法
  • 原文地址:https://www.cnblogs.com/liang24/p/13877762.html
Copyright © 2011-2022 走看看