SQLite julianday() 函数使用指南
SQLite julianday()
函数将通过一个时间值和修饰符指定的时间值转为一个儒略天数,即,从格林威治时间公元前 4714 年 11 月 24 日中午 12 点开始的天数。
julianday()
语法
这里是 SQLite julianday()
的语法:
julianday(time_value [, modifier, modifier, ...])
参数
time_value
-
可选的。时间值。时间值可以采用以下任何格式,如下所示。该值通常是一个字符串,但在格式为 12 的情况下,它可以是整数或浮点数。
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.dddddd
- 带小数部分的儒略历日期数
modifier
-
可选的。您可以使用零个或多个更改时间值。多个修饰符从左到右按照顺序应用。您可以使用如下的修饰符:
NNN days
- 时间值time_value
加上NNN
天NNN hours
- 时间值time_value
加上NNN
小时NNN minutes
- 时间值time_value
加上NNN
分钟NNN.NNNN seconds
- 时间值time_value
加上NNN.NNNN
秒NNN months
- 时间值time_value
加上NNN
个月NNN years
- 时间值time_value
加上NNN
年start of month
- 回退到时间值time_value
的月初start of year
- 回退到时间值time_value
的年初start of day
- 回退到时间值time_value
当天的开始weekday N
- 将时间值time_value
前进到工作日N
julianday
- Unix 时间戳julianday
- 返回儒略历auto
localtime
- 返回当前时间utc
- 返回 utc 时间
NNN
表示一个数字。 可以是整数或者负数。 如果NNN
是负数,则表示减去。
返回值
SQLite julianday()
函数返回一个指定的时间值对应的儒略天数(可能带小数部分)。如果不提供任何参数, julianday()
函数返回当前的日期时间对应的儒略天数。
julianday()
示例
这里列举了一些示例以展示 SQLite julianday()
函数的常用的用法。
-
使用 SQLite
julianday()
函数获取当前时间的儒略天数:SELECT julianday(), julianday('now');
julianday() julianday('now') ---------------- ---------------- 2459786.85543663 2459786.85543663
-
使用 SQLite
julianday()
函数将2022-07-26 12:00:00
的的前一天转为儒略天数:SELECT julianday('2022-07-26 12:00:00'), julianday('2022-07-26 12:00:00', '-1 day');
julianday('2022-07-26 12:00:00') julianday('2022-07-26 12:00:00', '-1 day') -------------------------------- ------------------------------------------ 2459787.0 2459786.0
-
使用 SQLite
julianday()
函数获取当年的最后一天对应的儒略天数:SELECT julianday('now', 'start of year', '1 year', '-1 day');
julianday('now', 'start of year', '1 year', '-1 day') ----------------------------------------------------- 2459944.5