SQLite 日期函数
SQLite的”DATE”函数用于检索日期并以’YYYY-MM-DD’的格式返回。
语法:
date(timestring, [ modifier1, modifier2, ... modifier_n ] )
在这里, timestring 是一个日期值,它可以是以下任意一个:
索引 | 时间字符串 | 描述 |
---|---|---|
1 | now | 这是一个字面上用于返回当前日期的值。 |
2 | YYYY-MM-DD | 它指定了日期值的格式为’YYYY-MM-DD’。 |
3 | YYYY-MM-DD HH:MM | 它指定了日期值的格式为’YYYY-MM-DD HH:MM’。 |
4 | YYYY-MM-DD HH:MM:SS | 它指定了日期值的格式为’YYYY-MM-DD HH:MM:SS’。 |
5 | YYYY-MM-DD HH:MM:SS.SSS | 它指定了日期值的格式为’YYYY-MM-DD HH:MM:SS.SSS’。 |
6 | HH:MM | 它指定了日期值的格式为’HH:MM’。 |
7 | HH:MM:SS | 它指定了日期值的格式为’HH:MM:SS’。 |
8 | HH:MM:SS.SSS | 它指定了日期值的格式为’HH:MM:SS.SSS’。 |
9 | YYYY-MM-DDTHH:MM | 它指定了日期值的格式为’YYYY-MM-DDTHH:MM’,其中t是一个字符,用于分隔日期和时间部分。 |
10 | YYYY-MM-DDTHH:MM:SS | 它指定了日期值的格式为’YYYY-MM-DDTHH:MM:SS’,其中t是一个字符,用于分隔日期和时间部分。 |
11 | YYYY-MM-DDTHH:MM:SS.SSS | 它指定了日期值的格式为’YYYY-MM-DDTHH:MM:SS.SSS’,其中t是一个字符,用于分隔日期和时间部分。 |
12 | DDDDDDDDDD | 它指定了儒略日数。 |
modifier1, modifier2, … modifier_n: 修饰符是可选项。它们与timestring一起使用,用于添加或减去时间、日期或年份。
索引 | Modifier | 描述 |
---|---|---|
1 | [+-]NNN 年 |
用于指定添加/减去的年数 |
2 | [+-]NNN 月 |
用于指定添加/减去的月数 |
3 | [+-]NNN 天 |
用于指定添加/减去的天数 |
4 | [+-]NNN 小时 |
用于指定添加/减去的小时数 |
5 | [+-]NNN 分钟 |
用于指定添加/减去的分钟数 |
6 | [+-]NNN 秒 |
用于指定添加/减去的秒数 |
7 | [+-]NNN.NNNN 秒 |
用于指定添加/减去的秒数(包括小数秒) |
8 | start of year | 用于将日期向后移动到年初 |
9 | start of month | 用于将日期向后移动到月初 |
10 | start of day | 用于将日期向后移动到日初 |
11 | weekday N | 用于将日期向前移动到下一个周几为 N 的日期 (0=星期日, 1=星期一, 2=星期二, 3=星期三, 4=星期四, 5=星期五, 6=星期六) |
12 | unixepoch | 它与DDDDDDDDDD的时间字符串一起使用,将日期解释为UNIX时间(即:1970-01-01以来的秒数) |
13 | localtime | 它用于将日期调整为本地时间,假设时间字符串是以UTC表示的 |
14 | utc | 它用于将日期调整为UTC时间,假设时间字符串是以本地时间表示的 |
示例1:
获取当前日期:
SELECT date('now');
输出:
示例2:获取每月的第一天:
有4种方法可以找出每月的第一天:
SELECT date('2017-12-17', 'start of month');
SELECT date('now', 'start of month');
SELECT date('2014-10-16', '-15 days');
SELECT date('now', '-11 days');
输出:
示例3:获取本月的最后一天:
日期函数可以用来获取每个月的最后一天。有4种方法可以找到每个月的最后一天:
SELECT date('2017-04-13', 'start of month','+1 month', '-1 day');
SELECT date('now', 'start of month','+1 month', '-1 day');
SELECT date('2017-04-13', '+17 days');
SELECT date('now', '+17 days');
输出:
输出:
示例4:将年份添加/减去到当前日期:
将当前日期加5年和减去5年:
SELECT date('now','+5 years');
SELECT date('2017-04-13','+5 years');
SELECT date('now','-5 years');
SELECT date('2017-04-13','-5 years');
输出:
示例5:给当前日期添加/减去天数:
通过同样的方式,您可以给日期添加和减去天数:
SELECT date('now','+5 days');
SELECT date('2017-04-13','+5 days');
SELECT date('now','-5 days');
SELECT date('2017-04-13','-5 days');
输出: