js、 sql、 C#時間、時間戳相互轉換sql
//1.獲取當前時間戳_c# long aa = (DateTime.Now.ToUniversalTime().Ticks - 621355968000000000) / 10000000
//2.時間戳->時間 C# DateTime b11 = GetTime("1483461862");//11位時間戳->時間 DateTime b13 = ConvertStringToDateTime("1483461862");//13 位時間戳->時間
//3. 時間->時間戳C# int a11= ConvertDateTimeInt(b11);//11 位 時間->時間戳 long a13 = ConvertDateTimeToInt(b13);//13位 時間->時間戳
private DateTime GetTime(string timeStamp) //11 時間戳轉爲C#格式時間 { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(timeStamp + "0000000"); TimeSpan toNow = new TimeSpan(lTime); return dtStart.Add(toNow); } private int ConvertDateTimeInt(System.DateTime time) //11 DateTime時間格式轉換爲Unix時間戳格式 { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1)); return (int)(time - startTime).TotalSeconds; } public static long ConvertDateTimeToInt(System.DateTime time) ////13 位 時間轉爲時間 { System.DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new System.DateTime(1970, 1, 1, 0, 0, 0, 0)); long t = (time.Ticks - startTime.Ticks) / 10000; //除10000調整爲13位 return t; } private DateTime ConvertStringToDateTime(string timeStamp) //13位時間戳轉爲C#格式時間 { DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1)); long lTime = long.Parse(timeStamp + "0000"); TimeSpan toNow = new TimeSpan(lTime); return dtStart.Add(toNow); }
sql c#
--1當前時間戳 獲取sql SELECT DATEDIFF(S,'1970-01-01 00:00:00', GETDATE()) - 8 * 3600 SELECT DATEDIFF(s, '1970-01-01 00:00:00', GETUTCDATE())
--2時間戳→普通時間sql SELECT DATEADD(s,1483461862,'1970-01-01 08:00:00') as DTime SELECT DATEADD(S,1483461862 + 8 * 3600,'1970-01-01 00:00:00')
--3 普通時間 → Unix時間戳sql SELECT DATEDIFF(s, '1970-01-01 08:00:00', '2017-01-04 00:44:22.000')
js spa
1當前時間戳 獲取js Math.round(new Date().getTime()/1000)
2時間戳→普通時間js var unixTimestamp = new Date(Unix timestamp * 1000); var commonTime =unixTimestamp.toLocaleString();
3 普通時間 → Unix時間戳js var commonTime = new Date(Date.UTC(year, month - 1, day, hour, minute, second))