Unix时间戳

欢欢欢欢 发表于 2019-1-14 11:45

一般接口请求时间戳没什么意义,都是当前时间年月日时分秒一下就可以了,如:

DateTime.Now.ToString("yyMMddHHmmss")

今天遇到一个新的时间戳方式:Unix时间戳,就是从Unix纪元(格林威治时间 1970 年 1 月 1 日 00:00:00)到当前时间的秒数。

C#版本:------------------------------

获取当前时间的Unix时间戳

long UnixDate= (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000;

Unix时间戳转普通时间

string UnixTime = "1474449764"; //时间戳

System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));

DateTime TranslateDate = startTime.AddSeconds(double.Parse(UnixTime));

 

Javascript:----------------------

获取当前时间的Unix时间戳

Math.round(new Date().getTime()/1000)

Unix时间戳转普通时间

new Date(UnixTimestamp * 1000).toLocaleString()

普通时间转Unix时间戳

new Date(Date.UTC(year, month - 1, day, hour, minute, second))

 

Sql Server:-------------------

获取当前时间的Unix时间戳

SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())

Unix时间戳转普通时间

DATEADD(s, Unix timestamp, '1970-01-01 00:00:00')

普通时间转Unix时间戳

SELECT DATEDIFF(s, '1970-01-01 00:00:00', time)

 

记住这个名词就行。以后有人提到,知道怎么回事儿。

参考链接:摸这里