1. Unix時間戳
- Unix時間戳(Unix timestamp),或稱Unix時間(Unix time)、POSIX時間(POSIX time),是一種時間表示方式,定義爲從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數。Unix時間戳不僅被使用在Unix系統、類Unix系統中,也在許多其他操作系統中被廣泛採用。
- 目前相當一部分操作系統使用32位二進制數字表示時間。此類系統的Unix時間戳最多可以使用到格林威治時間2038年01月19日03時14分07秒(二進制:01111111 11111111 11111111 11111111)。其後一秒,二進制數字會變爲10000000 00000000 00000000 00000000,發生溢出錯誤,造成系統將時間誤解爲1901年12月13日20時45分52秒。這很可能會引起軟件故障,甚至是系統癱瘓。
2.js中獲取當前時間的時間戳
第一種方法:獲取毫秒數,但是毫秒位全是0,本質上是精確到秒的毫秒數(相當於 1000*Unix時間戳);
var timestamp = Date.parse(new Date());
第二種方法:精確到毫秒數
var timestamp = (new Date()).valueOf();
或者
var timestamp=new Date().getTime();
3.jQuery 獲取時間戳 $.now()
var timestamp = $.now();
4.c#中DateTime轉化爲Unix時間戳
/// <summary>
/// 將DateTime轉化爲UnixTimeStamp
/// </summary>
/// <param name="dateTime"></param>
/// <returns></returns>
public static long ChangeDateTimeToUnixTimeStamp(DateTime dateTime)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
return (long)(dateTime - startTime).TotalSeconds;
}
5.c#中Unix時間戳轉化爲DateTime
/// <summary>
/// 將unixTimeStamp轉化爲DateTime
/// </summary>
/// <param name="unixTimeStamp"></param>
/// <returns></returns>
public static DateTime ChangeUnixTimeStampToDateTime(long unixTimeStamp)
{
System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1));
return startTime.AddSeconds(unixTimeStamp);
}