SQL Server 時間戳與時間格式互相轉換


時間戳(Unix timestamp) 是一種時間表示方式,定義為從格林威治時間1970年01月01日00時00分00秒起至現在的總秒數。

Unix時間戳不僅被使用在Unix系統、類Unix系統中,也在許多其他操作系統中被廣泛采用;

注意:由於我們所在的國家,是東八區,稱為北京時間,所以,要在格林威治的時間基礎之上+8小時才是我們這邊的時間;

 

一:時間格式轉換成時間戳

SELECT DATEDIFF(second, '1970-01-01 08:00:00', GETDATE())

創建函數並調用

復制代碼
/*
    日期類型轉時間戳
*/
Create Function DateToTimestamp(@DateInfo datetime)
    Returns int
Begin
    return DATEDIFF(second, '1970-01-01 08:00:00', @DateInfo);
End

--調用方法
SELECT dbo.DateToTimestamp(GETDATE());
復制代碼

 

 

二:時間戳轉換成時間格式

SELECT DATEADD(second,1560404817,'1970-01-01 08:00:00')

 

創建函數並調用

復制代碼
/*
    時間戳轉日期類型
*/
Create Function TimestampToDate(@TimestampInfo int)
    Returns datetime
Begin
    return DATEADD(second,@TimestampInfo,'1970-01-01 08:00:00');
End

--調用方法
SELECT dbo.TimestampToDate(1560404817);

復制代碼


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM