本文適用於sql server資料庫的t-sql語法,我只是個搬運工,進行簡單歸類,微軟官網國內可以直接訪問,我就不截圖和專門整理了,想看詳情,直接點選函式日期轉換:
convert(varchar(20),getdate(),120) --其中20可以替換成自己想要的長度,進行一定程度的擷取,其中的120可以根據需要替換成需要的styleid
萌新注意:datetime型別在沒有必要的情況下,不要胡亂轉換,比如,2020-11-26 16:41:56代表和20/11/26 16:41:56,如果是datetime型別的話,表示的是datetime型別的同乙個值,可以直接進行簡單運算,但如果多此一舉轉換成varchar之後再進行轉換或運算,就容易死了
日期運算:
dateadd(dd,10,'20201126')
或者dateadd(dd,10,getdate()) --在當前時間的基礎上加10天(dd)
參考官網:
日期差值:
datediff(day, @startdate, @enddate) --計算兩個時間的差,並返回相差的天數(day)
獲取日期中的指定部分:
datepart(year, @datetime)
年月日就不說了,太過無腦,格外需要說的有兩個:
week,計算@datetime是一年中的第幾周,這是很多人用這個函式的主要目的之一,不要傻傻的自己計算,我就幹過,也見過有人這干過
weekday,計算@datetime所在的天是一周中的第幾天,這個往往是用來計算週幾了,但格外需要注意的是,週日是一周中的第一天,週六是第七天,別因為平時把週日叫做週末,就習慣性的給自己挖坑
時間戳: 先上結果,再解釋
selectdatediff(s, '
1970-01-01 00:00:00
', getutcdate()) --
普通時間轉時間戳
select
dateadd(s, 1606383910, '
1970-01-01 08:00:00
') --
時間戳轉普通時間
select
cast(datediff(s, '
1970-01-01 00:00:00
', getutcdate()) as
bigint)*
1000
+datepart(ms,getutcdate()) --
普通時間轉時間戳(毫秒)
select
dateadd(ms,1606384726520
-cast(1606384726520
/1000
asbigint)*
1000,dateadd(s, 1606384726520
/1000, '
1970-01-01 08:00:00
')) --
時間戳轉普通時間(毫秒)
解釋1:utc時間為世界標準時間,1970-01-01 00:00:00是unix時間紀元,時間戳是世界標準時間距時間紀元的秒數,而我國位於東八區,使用的是utc+8:00的時間,所以時間戳轉換為我國的普通時間的時候,就需要加上8小時的時區差值。
解釋2:毫秒時間戳轉換之所以麻煩,其一,是因為datediff與dateadd的返回值是int,而時間戳的秒數*1000變為毫秒時,超過了int的最大值,需要用bigint;
其二,秒級別的時間戳轉換忽略了毫秒的精度,有由於無法直接轉換為bigint,要先轉換為秒,這就導致丟失精度,所以,在毫秒級別時,需要專門加上毫秒的值
常用時間處理05
pandas中,to datetime 函式是用來進行獲取時間和進行時間資料操作的函式。dates pd.to datetime pd.series 1989 8 18 13 14 55 1995 2 16 format y m d h m s 根據面臨的資料格式不同,還有以下幾種常用的方法 pri...
常用時間日期處理總結
時間處理是專案中不可缺少的,下面整理了一些常用時間處理的用法,記錄一下。1.獲取當前時間 1 function getnowtime 2.時間與天數相加 1 function gettimeadddays time,days 3.獲取並格式化日期 年 月 日 1 function getformat...
PHP date函式常用時間處理方法
複製 如下 echo 今天 date y m d echo 昨天 date y m d strtotime 1 day echo 明天 date y m d strtotime 1 day echo 一周後 date y m d strtotime 1 week echo 一周零兩天四小時兩秒後 d...