--在sql中將時間戳轉換為時間類型
SQL里面有個DATEADD的函數。時間戳就是一個從1970-01-01 08:00:00到時間的相隔的秒數。所以只要把這個時間戳加上1970-01-01 08:00:00這個時間就可以得到你想要的時間了select DATEADD(second,1488272688+ 8 * 60 * 60,'1970-01-01 00:00:00')
注解:北京時間與GMT時間關系
1.GMT是中央時區,北京在東8區,相差8個小時
2.所以北京時間 = GMT時間 + 八小時
例如: SELECT DATEADD(S,1488272688+ 8 * 3600,'1970-01-01 00:00:00') --時間戳轉換成普通時間 SELECT DATEDIFF(S,'1970-01-01 00:00:00', '2017-02-28 17:04:48.000') - 8 * 3600 --普通時間轉換成時間戳
--在后台代碼中將時間戳轉為時間類型
public DateTime ConvertDate(long span) { DateTime time = DateTime.MinValue; DateTime startTime = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1, 0, 0, 0, 0)); time = startTime.AddSeconds(span); return time; }
好了,數據庫和后台的兩種轉換。