SQLite datetime() 函数使用指南

SQLite datetime() 函数将通过一个时间值和修饰符指定的时间值转为一个 YYYY-MM-DD HH:MM:SS 格式的日期时间字符串。

datetime() 语法

这里是 SQLite datetime() 的语法:

datetime(time_value [, modifier, modifier, ...])

参数

time_value

可选的。时间值。时间值可以采用以下任何格式,如下所示。该值通常是一个字符串,但在格式为 12 的情况下,它可以是整数或浮点数。

  1. YYYY-MM-DD
  2. YYYY-MM-DD HH:MM
  3. YYYY-MM-DD HH:MM:SS
  4. YYYY-MM-DD HH:MM:SS.SSS
  5. YYYY-MM-DDTHH:MM
  6. YYYY-MM-DDTHH:MM:SS
  7. YYYY-MM-DDTHH:MM:SS.SSS
  8. HH:MM
  9. HH:MM:SS
  10. HH:MM:SS.SSS
  11. now - 表示当前时间
  12. DDDDDDDDDD.dddddd - 带小数部分的儒略历日期数
modifier

可选的。您可以使用零个或多个更改时间值。多个修饰符从左到右按照顺序应用。您可以使用如下的修饰符:

  1. NNN days - 时间值 time_value 加上 NNN
  2. NNN hours - 时间值 time_value 加上 NNN 小时
  3. NNN minutes - 时间值 time_value 加上 NNN 分钟
  4. NNN.NNNN seconds - 时间值 time_value 加上 NNN.NNNN
  5. NNN months - 时间值 time_value 加上 NNN 个月
  6. NNN years - 时间值 time_value 加上 NNN
  7. start of month - 回退到时间值 time_value 的月初
  8. start of year - 回退到时间值 time_value 的年初
  9. start of day - 回退到时间值 time_value 当天的开始
  10. weekday N - 将时间值 time_value 前进到工作日 N
  11. unixepoch - Unix 时间戳
  12. julianday - 返回儒略历
  13. auto
  14. localtime - 返回当前时间
  15. utc - 返回 utc 时间

NNN 表示一个数字。 可以是整数或者负数。 如果 NNN 是负数,则表示减去。

返回值

SQLite datetime() 函数返回一个 YYYY-MM-DD HH:MM:SS 格式的日期时间字符串。 如果不提供任何参数, datetime() 函数返回当前的日期时间。

datetime() 示例

这里列举了一些示例以展示 SQLite datetime() 函数的常用的用法。

  • 使用 SQLite datetime() 函数获取当前日期时间:

    SELECT datetime();
    
    datetime()
    -------------------
    2022-07-26 08:05:30
  • 或者,您可以使用带有时间值 'now' 的 SQLite datetime() 函数获取当前日期时间:

    SELECT datetime('now');
    
    datetime('now')
    -------------------
    2022-07-26 08:05:48
  • 使用 SQLite datetime() 函数获取 2 小时之后的日期时间:

    SELECT datetime(), datetime('now', '2 hours');
    
    datetime()           datetime('now', '2 hours')
    -------------------  --------------------------
    2022-07-26 08:10:05  2022-07-26 10:10:05