首页 > Note > sqlite3 时间函数

sqlite3 时间函数

2014年5月7日 发表评论 阅读评论

sqlite中支持的时间和日期函数共有 5 个:

  1. date(timestring, modifier, modifier, …)
  2. time(timestring, modifier, modifier, …)
  3. datetime(timestring, modifier, modifier, …)
  4. julianday(timestring, modifier, modifier, …)
  5. strftime(format, timestring, modifier, modifier, …)

上述 5 个函数,都传入时间字符串 timestring 作为参数,后面接 0 到多个modifier 修饰符。 而 strftime 将 format 作为第一个参数,对时间进行重新格式化。

timestring

可以采用以下任何一种格式:

序号 时间字符串 实例
1 YYYY-MM-DD 2010-12-30
2 YYYY-MM-DD HH:MM 2010-12-30 12:10
3 YYYY-MM-DD HH:MM:SS.SSS 2010-12-30 12:10:04.100
4 MM-DD-YYYY HH:MM 30-12-2010 12:10
5 HH:MM 12:10
6 YYYY-MM-DDTHH:MM 2010-12-30 12:10
7 HH:MM:SS 12:10:01
8 YYYYMMDD HHMMSS 20101230 121001
9 now 2014-05-07

'T' 可以作为日期和时间的分隔符

modifier

  1. NNN days
  2. NNN hours
  3. NNN minutes
  4. NNN.NNNN seconds
  5. NNN months
  6. NNN years
  7. start of month
  8. start of year
  9. start of day
  10. weekday N
  11. unixepoch
  12. localtime
  13. utc

这些修饰符会按参数从左到右的顺序将时间进行相应的运算。

  • 前 6 个修饰符可以对时间进行加减时间段的运算。如 '2 days' 表示在 timestring 的基础上再加 2 天,而 '-1 hours' 表示在前时间的基础上减一个小时。
  • 'start of' 修饰符将时间转换成当月、当年、当天 有起始时间。如 'start of year' 将时间转换为 '2013-01-01 00:00:00'
  • 'weekday N' 修饰符将当前时间前进到下一个星期N.(周日为星期0,周一为星期1).如今天是1月1日星期3,那么下一个星期4将是1月2日,下一个星期2将是1月8日。
  • 'unixepoch' 将 10 位数字的unix时间戳转换为相应的时间字符串。
  • 'localtime' 和 'utc' 将时间在格林威治时间和本地时间之间进行转换

format

格式化字符串,使用'%'进行转义

  • %d 一月中的第几天,01-31
  • %f 带小数部分的秒,SS.SSS
  • %H 小时,00-23
  • %j 一年中的第几天,001-366
  • %J 儒略日数,DDDD.DDDD
  • %m 月,00-12
  • %M 分,00-59
  • %s 从 1970-01-01 算起的秒数
  • %S 秒,00-59
  • %w 一周中的第几天,0-6 (0 is Sunday)
  • %W 一年中的第几周,01-53
  • %Y 年,YYYY
  • %% % symbol

 

 

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.