• 日期格式处理篇


    在编程的时候经常会遇到unix时间戳,那么就在这里总结一下unix时间戳常用的处理,首先应该明白是么是unix时间戳,unix时间戳是从1970年1月1日(UTC/GMT的午夜)开始所经过的秒数,不考虑闰秒。UNIX时间戳的0按照ISO 8601规范为 :1970-01-01T00:00:00Z,一个小时表示为UNIX时间戳格式为:3600秒;一天表示为UNIX时间戳为86400秒,闰秒不计算。在大多数的UNIX系统中UNIX时间戳存储为32位,这样会引发2038年问题或Y2038。

    1.sql语句中将日期格式转化为unix时间戳 select DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())

     sql语句中将unix时间戳转化为日期格式 DATEADD(hh,8,DATEADD(s,track_beginTM,'19700101')),unix时间戳转化为日期格式后因为时差的原因需在小时部分加8

    因为,数据库中毫秒数存的是伦敦的格林威治时间,格林威治时间与北京相差时区所以要加八个小时。

    2.编程中获取unix时间戳

    Java time
    JavaScript Math.round(new Date().getTime()/1000) 
    getTime()返回数值的单位是毫秒
    Microsoft .NET / C# epoch = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
    MySQL SELECT unix_timestamp(now())
    Perl time
    PHP time()
    PostgreSQL SELECT extract(epoch FROM now())
    Python 先 import time 然后 time.time()
    Ruby 获取Unix时间戳:Time.now 或 Time.new 
    显示Unix时间戳:Time.now.to_i
    SQL Server SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())
    Unix / Linux date +%s
    VBScript / ASP DateDiff("s", "01/01/1970 00:00:00", Now())
    其他操作系统 
    (如果Perl被安装在系统中)
    命令行状态:perl -e "print time"

     3.js中毫秒数(unix时间)转化为普通的 年月日格式,得到毫秒数的小时部分。

    两个unix时间(毫秒日期时间)差.getHours() 得到的是时差的 1970-01-01 08:00:00为基准的时差。

  • 相关阅读:
    java.lang.OutOfMemoryError:GC overhead limit exceeded填坑心得
    linux修改系统时间和linux查看时区、修改时区的方法
    关于elasticsearch和kibana的时区和日期问题
    Jmeter中的几个重要测试指标释义
    jmeter之json数据参数化 断言等
    daemon
    linux之cp/scp命令+scp命令详解
    C语言中文件的读取和写入
    koa 项目实战(四)注册接口和调试工具(postman)
    koa 项目实战(三)创建测试接口和用户模型
  • 原文地址:https://www.cnblogs.com/yony/p/2548737.html
Copyright © 2020-2023  润新知