這篇文章是根據 sqlite 官方 wiki 裡的內容翻譯,如果有什麼翻譯不當的地方希望大家指出,畢竟我的英文水平實在很差。 sqlite 包括以下五個時間函式:
date(日期時間字串, 修正符, 修正符, ……)
time(日期時間字串, 修正符, 修正符, ……)
datetime(日期時間字串, 修正符, 修正符, ……)
julianday(日期時間字串, 修正符, 修正符, ……)
strftime(日期時間格式, 日期時間字串, 修正符, 修正符, ……)
上述五個函式需要乙個日期時間字串做引數,後面可以跟零到多個修正符引數。而 strftime() 函式還需要乙個日期時間格式字串做第乙個引數。
date() 函式返回乙個以 「yyyy-mm-dd」 為格式的日期;
time() 函式返回乙個以 「yyyy-mm-dd hh:mm:ss」 為格式的日期時間;
julianday() 函式返回乙個天數,從格林威治時間西元前2023年11月24號開始算起;
strftime() 函式返回乙個經過格式話的日期時間,它可以用下面的符號對日期和時間進行格式化:
%d 一月中的第幾天 01-31
%f 小數形式的秒,ss.ssss
%h 小時 00-24
%j 一年中的第幾天 01-366
%j julian day numbers
%m 月份 01-12
%m 分鐘 00-59
%s 從 1970-01-01日開始計算的秒數
%s 秒 00-59
%w 星期,0-6,0是星期天
%w 一年中的第幾周 00-53
%y 年份 0000-9999
%% % 百分號
其他四個函式都可以用 strftime() 函式來表示:
date(…) -> strftime(「%y-%m-%d」,…)
time(…) -> strftime(「%h:%m:%s」,…)
datetime(…) -> strftime(「%y-%m-%d %h:%m:%s」,…)
julianday(…) -> strftime(「%j」,…)
日期時間字串
可以用以下幾種格式:
yyyy-mm-dd
yyyy-mm-dd hh:mm
yyyy-mm-dd hh:mm:ss
yyyy-mm-dd hh:mm:ss.sss
yyyy-mm-ddthh:mm
yyyy-mm-ddthh:mm:ss
yyyy-mm-ddthh:mm:ss.sss
hh:mm
hh:mm:ss
hh:mm:ss.sss
nowdddd.dddd
在第五種到第七種格式中的「t」是乙個分割日期和時間的字元;第八種到第十種格式只代表2000-01-01日的時間,第十一種格式的』now』表示返回乙個當前的日期和時間,使用格林威治時間(utc);第十二種格式表示乙個 julian day numbers。
修正符
nnn days
nnn hours
nnn minutes
nnn.nnnn seconds
nnn months
nnn years
start of month
start of year
start of week
start of day
weekday n
unixepoch
localtime
utc前六個修正符就是簡單的增加指定數值的時間和日期;第七到第十個修正符表示返回當前日期的開始;第十乙個修正符表示返回下乙個星期是n的日期和時間;第十二個修正符表示返回從1970-01-01開始算起的秒數;第十三個修正符表示返回本地時間。
下面舉一些例子:
計算機當前時間
select date(『now』)
計算機當前月份的最後一天
select date(『now』,』start of month』,』+1 month』,』-1 day』)
計算unix 時間戳1092941466表示的日期和時間
select datetime(『1092941466』,』unixepoch』)
計算 unix 時間戳1092941466 表示的本地日期和時間
select datetime(『1092941466』,』unixepoch』,』localtime』)
計算機當前unix 時間戳
select strftime(『%s』,』now』)
兩個日期之間相差多少天
select jolianday(『now』)-jolianday(『1981-12-23』)
兩個日期時間之間相差多少秒
select julianday('now')*86400 - julianday('2004-01-01 02:34:56')*86400
計算今年十月份第乙個星期二的日期
select date('now','start of year','+9 months','weekday 2');
sqlite日期時間函式
sqlite支援以下五個日期和時間函式 函式 描述date timestring,modifier,modifier,以 yyyy mm dd 格式返回日期,如 2020 07 26 time timestring,modifier,modifier,以 hh mm ss 格式返回時間,如 21 0...
SQLite的日期時間函式
1.date 日期時間字串,修正符,修正符,2.time 日期時間字串,修正符,修正符,3.datetime 日期時間字串,修正符,修正符,4.julianday 日期時間字串,修正符,修正符,5.strftime 日期時間格式,日期時間字串,修正符,修正符,上述五個函式需要乙個日期時間字串做引數,...
python日期函式筆記
coding utf 8 from datetime import datetime import time 取當前時間,返回string型別 now str time.strftime y m d h m s print type now str print now str print 取當前時間...