相关文章推荐
豪情万千的眼镜  ·  智能指针reset()·  4 天前    · 
豪情万千的眼镜  ·  Resources·  1 月前    · 
豪情万千的眼镜  ·  python 调用打印机 ...·  9 月前    · 
豪情万千的眼镜  ·  [Answer]-How to ...·  10 月前    · 
豪情万千的眼镜  ·  Java ...·  11 月前    · 
豪情万千的眼镜  ·  MySQL 导出数据 | ·  11 月前    · 
不爱学习的火腿肠  ·  java ...·  59 分钟前    · 
旅行中的铁链  ·  错误信息:SSL ShakeHand ...·  1小时前    · 

SQLite strftime() 是一个功能非常强大的函数,可以用来获取日期和时间,并且还可以执行日期计算。

strftime(format, timestring [, modifier1, modifier2, ... modifier_n ] )

这里,format可以是以下任何一种:

解释/描述 weekday N 用于将日期向前移动到工作日数为N的下一个日期(0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday) unixepoch 它与DDDDDDDDDD时间字符串一起用于将日期解释为UNIX时间(即:自1970-01-01以来的秒数) localtime 用于将日期调整为本地时间,假设时间戳以UTC表示 它用于将日期调整为utc,假设时间戳以本地时间表达

检索当前日期:

SELECT strftime('%Y %m %d', 'now');  
SELECT strftime('%Y-%m-%d %H:%M', 'now');

执行上面语句,得到以下结果 -

sqlite> SELECT strftime('%Y %m %d', 'now');
2017 05 24
sqlite> SELECT strftime('%Y-%m-%d %H:%M', 'now');
2017-05-24 19:04
sqlite>

检索本月的第一天:

SELECT strftime('%Y-%m-%d', '2017-09-14', 'start of month');  
SELECT strftime('%Y-%m-%d', 'now', 'start of month');  
SELECT strftime('%Y-%m-%d', '2017-03-07', '-6 days');  
SELECT strftime('%Y-%m-%d', 'now', '-13 days');

执行上面代码,得到以下结果 -

sqlite> SELECT strftime('%Y-%m-%d', '2017-09-14', 'start of month');
2017-09-01
sqlite> SELECT strftime('%Y-%m-%d', 'now', 'start of month');
2017-05-01
sqlite> SELECT strftime('%Y-%m-%d', '2017-03-07', '-6 days');
2017-03-01
sqlite> SELECT strftime('%Y-%m-%d', 'now', '-13 days');
2017-05-11
sqlite>

检索本月的最后一天:

SELECT strftime('%Y-%m-%d', '2017-12-07', 'start of month', '+1 month', '-1 day');   
SELECT strftime('%Y-%m-%d', 'now', 'start of month', '+1 month', '-1 day');  
SELECT strftime('%Y-%m-%d', '2017-08-07', '+24 days');  
SELECT strftime('%Y-%m-%d', 'now', '+24 days');

执行上面代码,得到以下结果 -

sqlite> SELECT strftime('%Y-%m-%d', '2017-12-07', 'start of month', '+1 month', '-1 day');
2017-12-31
sqlite> SELECT strftime('%Y-%m-%d', 'now', 'start of month', '+1 month', '-1 day');
2017-05-31
sqlite> SELECT strftime('%Y-%m-%d', '2017-08-07', '+24 days');
2017-08-31
sqlite> SELECT strftime('%Y-%m-%d', 'now', '+24 days');
2017-06-17
sqlite>

在当前日期时间上添加/减去年数和天数:

SELECT strftime('%Y-%m-%d', '2017-11-14', '+2 years');  
SELECT strftime('%Y-%m-%d', 'now', '-2 years');  
SELECT strftime('%Y-%m-%d', '2017-10-14', '+7 days');  
SELECT strftime('%Y-%m-%d', 'now', '-10 days');

执行上面代码,得到以下结果 -

sqlite> SELECT strftime('%Y-%m-%d', '2017-11-14', '+2 years');
2019-11-14
sqlite> SELECT strftime('%Y-%m-%d', 'now', '-2 years');
2015-05-24
sqlite> SELECT strftime('%Y-%m-%d', '2017-10-14', '+7 days');
2017-10-21
sqlite> SELECT strftime('%Y-%m-%d', 'now', '-10 days');
2017-05-14
sqlite>
 
推荐文章