1、datetime() 日期和时间 2016-06-06 06:06:06
datetime(timestring, modifier, modifier, …) date(日期时间, 修正符, 修正符, …)
SELECT datetime(‘now’); 格林时间
SELECT datetime(‘now’,’localtime’); 与不加localtime相差8小时
实例:1 SELECT datetime( ‘2016-07-07 00:00:00’, ‘4 hour’, ’30 minute’);
运行结果:2016-07-07 04:30:00
说明: 后边的参数都是对前边日期做一个操作,加或减
2 SELECT datetime('now', 'start of year')
运行结果:2016-01-01 00:00:00
说明:start of year 也是对第一个参数(日期)做操作,把时间归零到对应的时间 还有 start
of month 等 。同事在函数里有多个修正符的号,会安装顺序依次执行,后边的在前一个的基础
上对时间进行操作。
3 SELECT datetime('1465799513', 'unixepoch');
运行结果:2016-06-13 06:31:53
说明:UNIX 时间戳 1465799513 表示的日期
4 SELECT datetime('1465799513', 'unixepoch','localtime');
运行结果:2016-06-13 14:31:53
说明:UNIX 时间戳 1465799513 表示的当地日期
2、date() 日期 2016-06-06 用法同datetime()
3、time() 时间 06:06:06 用法同datetime()
4、strftime()
strftime(format, timestring, modifier, modifier, …) 第一个参数是时间格式
日期格式化对应的符号:(摘自网络)
%d 日期, 00-31
%f 小数形式的秒,SS.SSS
%H 小时, 00-23
%j 算出某一天是该年的第几天,001-366
%m 月份,00-12
%M 分钟, 00-59
%s 从1970年1月1日到现在的秒数
%S 秒, 00-59
%w 星期, 0-6 (0是星期天)
%W 算出某一天属于该年的第几周, 01-53
%Y 年, YYYY
%% 百分号
SELECT strftime( ‘%Y-%m-%d %H:%M:%S’, ‘now’, ‘localtime’);
运行结果:2016-07-07 14:48:44
SELECT strftime( ‘%w’, ‘now’, ‘localtime’);
运行结果:4
SELECT strftime( ‘%W’, ‘now’, ‘localtime’);
运行结果:27
SELECT strftime(‘%s’, ‘now’);
运行结果:1467877994
说明:获取当前时间戳
SELECT julianday(‘now’)-julianday(‘2016-07-05’) ;
运行结果:2.34045532392338
说明:现在距离2016-07-05 的天数
SELECT strftime(‘%s’,’now’,’localtime’)-strftime(‘%s’,’2016-07-07 16:14:56′);
运行结果:365
说明:距离现在时间的秒数
SELECT date(‘now’,’start of year’,’+6 months’,’weekday 4′);
运行结果:2016-07-07
说明:本年第7个月的第一个星期四
SELECT date(‘now’,’start of year’,’+6 months’,’weekday 4′,’+7 day’);
运行结果:2016-07-14
说明:本年第7个月的第二个星期四