zoukankan      html  css  js  c++  java
  • 日期格式处理篇

    在编程的时候经常会遇到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为基准的时差。

  • 相关阅读:
    windows10下安装zookeeper kafka
    WisDom.Net 框架设计(八) 持久层
    WisDom.Net 框架设计(五) 权限设计
    WisDom.Net 框架设计(二) 服务总线
    业务安全篇-渗透中的表单测试
    【网摘】身在腾讯:浪潮之巅的惶惑与自救
    短链生成
    【读书笔记】——读书之前
    config 设置的两种方式
    ping通但是浏览器打不开网页解决
  • 原文地址:https://www.cnblogs.com/yony/p/2548737.html
Copyright © 2011-2022 走看看