SQLite date() 日期函数
SQLite 日期函数 date()
以 YYYY-MM-DD
格式返回日期
date(timestring, modifier, modifier, ...)
此函数相当于
strftime('%Y-%m-%d',timestring, modifier, modifier, ...)
参数 | 说明 |
---|---|
timestring | 字符串格式的时间,可选值有 now 或者如果是数字字符串,则表示从格林尼治时间的公元前 4714 年 11 月 24 日正午算起的天数 如果是其它格式的字符串,则必须是 SQLite 支持的日期时间格式 |
modifier | 修饰符,会改变返回的返回的日期 |
日期时间格式
date()
支持的日期时间格式有
以 2018 年 1 月 2 日 3 点 4 分 5 秒 600 毫秒
为例
日期时间格式 | 范例 |
---|---|
YYYY-MM-DD | 2018-01-02 |
YYYY-MM-DD HH:MM | 2018-01-02 03:04 |
YYYY-MM-DD HH:MM:SS.SSS | 2018-01-02 03:04:05.600 |
MM-DD-YYYY HH:MM | 01-02-2018 03:04 |
HH:MM | 03:04 |
YYYY-MM-DDTHH:MM | 2018-01-02 03:04 |
HH:MM:SS | 03:04:05 |
YYYYMMDD HHMMSS | 20180102 030405 |
now | 2018-01-02 |
DDDDDDDDDD | 返回当前时间戳,1523496694160 |
`'T' 是用于分隔日期和时间的文字字符
修饰符
date()
函数中可用的修饰符 modifier
有
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
范例
-
输出当前的日期
SELECT date('now');
输出结果如下
date('now') ----------- 2018-04-12
-
输出从格林尼治时间的公元前 4714 年 11 月 24 日正午算起的第二天
SELECT date(1);
输出结果如下
date(1) ----------- -4713-11-25
注意,第一天是 0
-
输出
2018-01-02 03:04:05
的日期SELECT date('2018-01-02 03:04:05');
输出结果如下
date('2018-01-02 03:04:05') --------------------------- 2018-01-02
-
计算当前月份的最后一天
SELECT date('now','start of month','+1 month','-1 day');
输出结果如下
date('now','start of month','+1 month','-1 day') ------------------------------------------------ 2018-04-30
-
计算今年 10 月的第一个星期二的日期
SELECT date('now','start of year','+9 months','weekday 2');
输出结果如下
date('now','start of year','+9 months','weekday 2') --------------------------------------------------- 2018-10-02