Sqlite 中的时间函数

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个月的第二个星期四

    原文作者:TimerHarry
    原文地址: https://www.jianshu.com/p/2d547f403b39
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞