欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

SQLite 日期&时间

程序员文章站 2024-03-25 13:52:34
...

   SQLite支持以下五个日期和时间函数:

SQLite 日期&时间

时间字符串

    一个时间字符串可以采用下面任何一种方式:

SQLite 日期&时间

修饰符(Modifier)

    时间字符串后边可跟着零个或多个的修饰符,这将改变以上五个函数返回的日期或时间。任何上述五大功能返回时间,修饰符应从左到由使用,下面列出了可以在SQLite中使用的修饰符:

    ·NNN days

    ·NNN houres

    ·NNN minutes

    ·NNN.NNNN seconds

    ·NNN months

    ·NNN years

    ·start of month

    ·start of year

    ·start of day

    ·weekday N

    ·unixepoch

    ·localtime

    ·utc


格式化

    SQLite提供了非常方便的函数strftime()来格式化任何日期和时间。你可以使用以下的替换来格式化时间和日期:

SQLite 日期&时间

实例

sqlite> SELECT date('now');   //当前日期
2013-05-07
sqlite> SELECT date('now','start of month','+1 month','-1 day');  //当月的最后一天
2013-05-31
sqlite> SELECT datetime(1092941466, 'unixepoch'); //计算给定UNIX时间戳1092941466的日期和时间
2004-08-19 18:51:06
sqlite> SELECT datetime(1092941466, 'unixepoch', 'localtime');//计算给定UNIX时间戳1092941466相对本地时区的日期时间
2004-08-19 11:51:06
sqlite> SELECT strftime('%s','now');//计算当前的UNIX时间戳
1367926057
sqlite> SELECT julianday('now') - julianday('1776-07-04'); //计算美国“独立宣言”签署以来的天数
86504.4775830326
sqlite> SELECT strftime('%s','now') - strftime('%s','2004-01-01 02:34:56');//计算从2004年某一个时刻以来的秒数
295001572
sqlite> SELECT date('now','start of year','+9 months','weekday 2');//计算当你10月的第一个星期二的日期
2013-10-01
sqlite> SELECT (julianday('now') - 2440587.5)*86400.0;//计算从UNIX纪元起的以秒为单位的时间
1367926077.12598
sqlite> SELECT time('12:00', 'localtime');//用localtime修饰符格式化日期
05:00:00
sqlite>  SELECT time('12:00', 'utc');//用utc修饰符格式化时间
19:00:00