📜  SQLite日期时间-2(1)

📅  最后修改于: 2023-12-03 15:05:20.301000             🧑  作者: Mango

SQLite日期时间-2

在SQLite中,日期和时间可以在数据库中以不同的格式进行存储和处理。本文将介绍SQLite中常用的日期和时间函数,并提供一些示例。

SQLite日期函数
  1. date(timestring, modifier) - 从给定的时间戳字符串中提取日期部分。可选参数modifier用于指定日期的格式,默认为'start of month'。 示例:
SELECT date('2021-12-31');
-- 输出:2021-12-31

SELECT date('2021-12-31', '+1 day');
-- 输出:2022-01-01

SELECT date('2021-12-31', 'start of year');
-- 输出:2021-01-01
  1. time(timestring, modifier) - 从给定的时间戳字符串中提取时间部分。可选参数modifier用于指定时间的格式,默认为'localtime'。 示例:
SELECT time('2021-12-31 10:30:45');
-- 输出:10:30:45

SELECT time('2021-12-31 10:30:45', 'utc');
-- 输出:10:30:45

SELECT time('2021-12-31 10:30:45', '+1 hour');
-- 输出:11:30:45
  1. datetime(timestring, modifier) - 从给定的时间戳字符串中提取日期和时间。可选参数modifier用于指定日期和时间的格式,默认为'localtime'。 示例:
SELECT datetime('2021-12-31 10:30:45');
-- 输出:2021-12-31 10:30:45

SELECT datetime('2021-12-31 10:30:45', 'utc');
-- 输出:2021-12-31 10:30:45

SELECT datetime('2021-12-31 10:30:45', '+1 hour');
-- 输出:2021-12-31 11:30:45
  1. strftime(format, timestring, modifier) - 将给定的时间戳字符串格式化为指定的格式。可选参数modifier用于指定要格式化的时间的格式,默认为'localtime'。 示例:
SELECT strftime('%Y-%m-%d', '2021-12-31 10:30:45');
-- 输出:2021-12-31

SELECT strftime('%H:%M:%S', '2021-12-31 10:30:45');
-- 输出:10:30:45

SELECT strftime('%Y-%m-%d %H:%M:%S', '2021-12-31 10:30:45');
-- 输出:2021-12-31 10:30:45
SQLite时间戳函数
  1. julianday(timestring, modifier) - 将给定的时间戳字符串转换为儒略日数。 示例:
SELECT julianday('2021-12-31');
-- 输出:2459591.5

SELECT julianday('2021-12-31 10:30:45');
-- 输出:2459591.93784722
  1. strftime(format, timestring, modifier) - 将给定的时间戳字符串格式化为指定的格式。可选参数modifier用于指定要格式化的时间的格式,默认为'localtime'。 示例:
SELECT strftime('%Y-%m-%d %H:%M:%S', 'now');
-- 输出:2022-01-01 08:30:00 (假设当前时间为2022-01-01 08:30:00)

SELECT strftime('%w', '2022-01-01');
-- 输出:6 (星期六,周日为0,周六为6)

以上是SQLite中常用的日期和时间函数。通过这些函数,你可以在SQLite中轻松地处理和操作日期和时间数据。