Sqlite Datetime类型详解

日期和时间函数

date(timestring, modifier, modifier, ...)
time(timestring, modifier, modifier, ...)
datetime(timestring, modifier, modifier, ...)
julianday(timestring, modifier, modifier, ...)
strftime(format, timestring, modifier, modifier, ...)

date 获取日期,time 获取时间,datetime获取日期时间,julianday获取日期所对应的Julian day(儒略日),儒略日就是当前日期距离公元前4713年1月1日的天数,可以为小数。strftime可以将日期时间设定为指定格式,格式由format指定,可选值如下:

%d        day of month: 00
%f        fractional seconds: SS.SSS
%H        hour: 00-24
%j        day of year: 001-366
%J        Julian day number
%m        month: 01-12
%M        minute: 00-59
%s        seconds since 1970-01-01
%S        seconds: 00-59
%w        day of week 0-6 with Sunday==0
%W        week of year: 00-53
%Y        year: 0000-9999
%%        %


timestring可选值:

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
now
DDDDDDDDDD
Modifiers可选值
NNN days
NNN hours
NNN minutes
NNN.NNNN seconds
NNN months
NNN years
start of month
start of year
start of day
weekday N
unixepoch
localtime
utc

Modifiers可以任意多个,具体用法见下

举例

获取昨天的日期

select date('now','localtime','-1 days')
输出:2016-01-29

获取现在的时间

select time('now','localtime')
select time('now','localtime','1 hours','-1 hours')
输出:22:28:06

获取现在的日期时间对应的儒略日

select julianday('now','localtime')
输出:2457418.43836682

获取儒略日为2457418.5对应的日期时间

select datetime('2457418.5')
输出:2016-01-31 00:00:00

获取这周的第三天所对应的日期

select date('now','weekday 3')
输出:2016-02-03

获取Unix时间戳

select strftime('%s','now','localtime') 
输出:1454193429
posted @ 2016-01-30 22:39  reyzal  阅读(10026)  评论(0编辑  收藏  举报