SQLite 日期时间函数 julianday()
SQLite 时间时间函数 julianday
返回从格林尼治时间的公元前 4714 年 11 月 24 日正午算起的天数
julianday(timestring, modifier, modifier, ...)
此函数相当于
strftime('%J',timestring, modifier, modifier, ...)
参数 | 说明 |
---|---|
timestring | 字符串格式的时间 如果是 now ,则返回当前的日期时间如果是数字,则必须添加修饰符 unixepoch 表示传递的是时间戳如果是其它格式的字符串,则必须是 SQLite 支持的日期时间格式 |
modifier | 修饰符,会改变返回的返回的日期 |
日期时间格式
julianday()
支持的日期时间格式有
以 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' 是用于分隔日期和时间的文字字符
修饰符
julianday()
函数中可用的修饰符 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
范例
-
返回从格林尼治时间的公元前 4714 年 11 月 24 日正午起到当前时间的天数
SELECT julianday('now');
输出结果如下
julianday('now') ---------------- 2458220.59892027
-
如果是数字或者数字字符串,则必须指定修饰符
unixepoch
表示传递的是时间戳SELECT julianday(2234,'unixepoch');
输出结果如下
julianday(2234,'unixepoch') --------------------------- 2440587.52585648
-
如果是数字或者数字字符串,且没有指定修饰符
unixepoch
表示传递的是从格林尼治时间的公元前 4713 年 11 月 24 日正午算起的天数SELECT julianday(0);
输出结果如下
julianday(0) ------------ 0.0
传入 3
SELECT julianday(3);
输出结果如下
julianday(3) ------------ 3.0
-
如果传递的是合法的 SQLite 格式,比如
2018-01-02 03:04:05
则返回从格林尼治时间的公元前 4714 年 11 月 24 日正午起到传入时间的天数SELECT julianday('2018-01-02 03:04:05');
输出结果如下
julianday('2018-01-02 03:04:05') -------------------------------- 2458120.62783565
-
如果要将时间转换为本地时间,可以使用
localtime
修饰符SELECT julianday('2018-01-02 03:04:05', 'localtime');
输出结果如下
julianday('2018-01-02 03:04:05', 'localtime') --------------------------------------------- 2458120.96116898
-
如果要将本地时间转换为格林威治时间(utc),可以使用
utc
修饰符SELECT julianday('2018-01-02 03:04:05', 'utc');
输出结果如下
julianday('2018-01-02 03:04:05', 'utc') --------------------------------------- 2458120.29450231