`

SQLite中的时间日期函数

阅读更多
作者:M.Q.  来源:第三类能源物理研究室  时间:2007-4-23 
摘自:http://www.sqlite.com.cn/MySqlite/6/390.Html

------------------------------------------------------

这是我学习SQLite时做的笔记,参考并翻译了Chris Newman写的《SQLite》中的《Working with Dates and Times》一文中的部分内容。


SQLite包含了如下时间/日期函数:
datetime().......................产生日期和时间
date()...........................产生日期
time()...........................产生时间
strftime().......................对以上三个函数产生的日期和时间进行格式化

datetime()的用法是:datetime(日期/时间,修正符,修正符...)
date()和time()的语法与datetime()相同。

在时间/日期函数里可以使用如下格式的字符串作为参数:
YYYY-MM-DD
YYYY-MM-DD HH:MM
YYYY-MM-DD HH:MM:SS
YYYY-MM-DD HH:MM:SS.SSS
HH:MM
HH:MM:SS
HH:MM:SS.SSS
now
其中now是产生现在的时间。

举例(写这个笔记的时间是2006年10月17日晚8点到10点,测试环境:SQLite 2.8.17,WinXP,北京时间):


例1.
select datetime('now');
结果:2006-10-17 12:55:54

例2.
select datetime('2006-10-17');
结果:2006-10-17 12:00:00

例3.
select datetime('2006-10-17 00:20:00','+1 hour','-12 minute');
结果:2006-10-17 01:08:00

例4.
select date('2006-10-17','+1 day','+1 year');
结果:2007-10-18

例5.
select datetime('now','start of year');
结果:2006-01-01 00:00:00

例6.
select datetime('now','start of month');
结果:2006-10-01 00:00:00

例7.
select datetime('now','start of day');
结果:2006-10-17 00:00:00

例8.
select datetime('now','+10 hour','start of day','+10 hour');
结果:2006-10-17 10:00:00

例9.
select datetime('now','localtime');
结果:2006-10-17 21:21:47

例10.
select datetime('now','+8 hour');
结果:2006-10-17 21:24:45


例3中的+1 hour和-12 minute表示可以在基本时间上(datetime函数的第一个参数)增加或减少一定时间。

例5中的start of year表示一年开始的时间。

从例8可以看出,尽管第2个参数加上了10个小时,但是却被第3个参数“start of day”把时间归零到00:00:00,随后的第4个参数在00:00:00
的基础上把时间增加了10个小时变成了10:00:00。

例9把格林威治时区转换成本地时区。

例10把格林威治时区转换成东八区。

strftime()函数可以把YYYY-MM-DD HH:MM:SS格式的日期字符串转换成其它形式的字符串。
strftime()的语法是strftime(格式, 日期/时间, 修正符, 修正符, ...)

它可以用以下的符号对日期和时间进行格式化:
%d 月份, 01-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
%% 百分号

strftime()的用法举例如下:


例11.
select strftime('%Y.%m.%d %H:%M:%S','now','localtime');
结果:2006.10.17 21:41:09


例11用圆点作为日期的分隔附,并把时间转换为当地的时区的时间。

更多关于SQLite日期时间函数方面的内容,可以参考Chris Newman写的《SQLite》(ISBN:0-672-32685-X)中的《Working with Dates and
Times》一文。
分享到:
评论

相关推荐

    SQLITE时间日期函数

    ### SQLITE时间日期函数详解 #### 一、引言 在数据库操作中,处理时间与日期是常见的需求之一。SQLite作为一种轻量级的嵌入式数据库系统,在处理时间日期方面提供了丰富的功能。本文将详细介绍SQLite中关于时间...

    SQLite时间转化问题

    SQLite 中的日期和时间函数是数据库管理中非常重要的一部分,掌握这些函数可以帮助开发者更好地处理日期和时间的转换操作。下面是 SQLite 中五个时间函数的介绍: 1. date() 函数:该函数返回一个以 “YYYY-MM-DD...

    Sqlite3时间存储格式问题?

    SQLite3 提供了一系列内置的日期和时间函数,如 `strftime()` 用于将日期和时间转换为字符串,`julianday()` 和 `datetime()` 用于在不同格式之间转换,以及 `date()`、`time()` 和 `timestamp()` 函数来提取日期、...

    sqlite3使用日期、时间数据类型.pdf

    本文档详细介绍了SQLite3中日期、时间数据类型的支持情况,并且讲解了如何使用这些数据类型和相关函数。 首先,SQLite3支持的日期、时间数据类型主要有三种:date、time和timestamp。date类型由年、月、日组成;...

    SQLite3中的日期时间函数使用小结

    在SQLite3中处理日期和时间通常涉及到特定的函数,因为SQLite本身并不支持专门的日期和时间数据类型。以下是关于SQLite3中日期时间函数的详细说明,以及如何使用它们。 1. **日期和时间的存储方式** SQLite3允许将...

    sqlite管理工具介绍 时间查询介绍

    对于SQLite时间查询的问题,这是一个常见的挑战,特别是对于使用不同语言的开发者。在C#环境中,我们可以参考以下方法: 1. 工具设置: 在SharpPlus SQlite Developer中,我们需要配置数据类型的时间映射。在...

    SQLite函数大全

    日期和时间函数 1. date(日期时间字符串,修正符,修正符,……):返回一个以 YYYY-MM-DD 为格式的日期 2. time(日期时间字符串,修正符,修正符,……):返回一个以 HH:MM:SS 为格式的日期时间 3. datetime(日期...

    Python SQLite3数据库日期与时间常见函数用法分析

    本文实例讲述了Python SQLite3数据库日期与时间常见函数。分享给大家供大家参考,具体如下: import sqlite3 #con = sqlite3.connect('example.db') con = sqlite3.connect(":memory:") c = con.cursor() # Create ...

    SQLite函数使用教程 源码

    在SQLite中,我们可以使用各种内置函数来执行常见的计算、转换和比较任务。以下是一些基本的SQLite函数: 1. **数值运算**: - `ABS(x)`:返回x的绝对值。 - `ROUND(x,y)`:四舍五入数字x到小数点后y位。 - `...

    SQLite-function.rar_sqlite函数

    3. 日期和时间函数: - CURRENT_TIMESTAMP:当前日期和时间。 - DATE(TIME):提取TIME中的日期部分。 - TIME(TIME):提取TIME中的时间部分。 - DATETIME(TIME):提取TIME的日期和时间部分。 - JULIAN_DAY(D):D...

    C# Sqlite分页查询,日期查询

    可以使用`STRFTIME`函数进行日期和时间的格式化和比较。例如,要获取过去24小时内创建的记录,可以这样做: ```csharp string query = "SELECT * FROM TableName WHERE CreatedAt >= STRFTIME('%Y-%m-%d %H:%M:%S',...

    Qt中用SQLite读写时间和日期.pdf

    在Qt开发中,SQLite是一个常用的轻量级数据库引擎,它被广泛用于存储各种类型的数据,包括日期和时间。本文将详细讲解如何在Qt中利用SQLite数据库处理日期和时间,以及如何进行读写操作。 首先,SQLite数据库本身并...

    SQLite内建函数表

    它提供了丰富的内建函数,涵盖数学运算、字符串处理、日期时间操作等多个方面,极大地提升了数据处理的灵活性和效率。 #### 数学函数 - **ABS(X)**:返回参数X的绝对值。 - **MAX(X,Y[,])**:返回一系列参数中的...

    浅谈SQLite时间函数的使用说明与总结分析

    通过这些实例,我们可以看到SQLite时间函数的强大功能,它们能够帮助我们在数据库操作中轻松处理日期和时间数据。无论是获取当前时间、调整日期或格式化输出,这些函数都能满足各种需求。在实际项目中,熟练掌握这些...

    sqlitesqlite

    1. SQLite时间日期函数:在`SQLite时间日期函数 .docx`文档中,可能包含了SQLite如何处理和操作时间日期数据的信息。SQLite提供了诸如`STRFTIME`、`JULIANTIMESTAMP`、`strftime`等函数,用于格式化、转换和比较日期...

    sqlite时间戳转时间语句(时间转时间戳)

    在SQLite中,`datetime()`函数可以用于将Unix时间戳转换为日期时间格式。Unix时间戳是从1970年1月1日(UTC)午夜开始计算的秒数。例如,要将时间戳1377168853转换为日期时间,你可以使用以下SQL语句: ```sql ...

    SQLite+SQL中文速查手册

    8. **函数和运算符**:SQL提供了丰富的内置函数,如数学函数、字符串函数、日期/时间函数等,以及各种比较和逻辑运算符。 `SQLite SQL中文参考手册.chm`文件很可能包含了SQLite的详细语法、函数和操作指南,包括...

Global site tag (gtag.js) - Google Analytics