收集SQLite中的時間日期函式 ZT

2021-09-02 07:16:47 字數 2393 閱讀 1977

宣告:文章摘自:

在插入資料時為了插入時間,我自己用了這個方法在資料庫中:

sql = "insert into \"call_record\" values('tom', '15908079860',datetime('now','localtime'));" ;

sqlite3_exec( db , sql , 0 , 0 , &zerrmsg );

datetime()的用法是:datetime(日期/時間,修正符,修正符...)

date()和time()的語法與datetime()相同。

例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 從2023年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》一文。

比如今天是:200-02-22

執行如下語句所得到的結果不一樣:

select date('now')

結果:2009-02-21

select datetime('now','localtime')

結果:2009-02-22 00:52:04

--------------------------- 分隔線 --------------------------

所以比較時用第二種語句才取得正確結果,例如(取大於現在時間的記錄):

select * from 表 where 日期字段》datetime('now','localtime')

好象沒有mssql的datediff等函式

如下語句實現datediff('m',開始日期,結束日期')函式同乙個數資料:

select * from 表 where strftime('%m',日期字段)=strftime('%m','now')

如此就可以實現了兩個日期相比較,舉一反三,同樣使用strftime格式式日期來對日、周、年比較

--------------------------- 分隔線 如下收集於網路 -------------

select * from placard where placard_endtime > datetime('now');

select placard_starttime,strftime('%s',placard_starttime) , datetime('now'),strftime('%s','now') from placard

差8個時區...

select placard_starttime,strftime('%s',placard_starttime) , datetime('now','localtime'),strftime('%s','now','localtime') from placard

上一條:大於指定時間的第一條        

select title,pubtime from article where pubtime>'2008-06-15 03:35:28' order by pubtime asc limit 1 offset 0

貌似時間的格式有嚴格的要求 2008-06-15 03:35:28 前面只能用 - 後面只能用:不足二位數的補零

下一條:小於指定時間的第一條

select title,pubtime from article where pubtime<'2008-06-15 03:35:28' order by pubtime desc limit 1 offset 0

注意時間的精度。03:35:28 後面就沒有了。

03:35:28.000

SQLite中的時間日期函式

datetime 產生日期和時間 date 產生日期 time 產生時間 strftime 對以上三個函式產生的日期和時間進行格式化 datetime 的用法是 datetime 日期 時間,修正符,修正符.date 和time 的語法與datetime 相同。yyyy mm dd yyyy mm ...

mysql時間日期 MySql 時間和日期函式

下面是mysql各種內建時間函式 1.curdate current date 用於獲取當前的日期。2.curtime current time 用於獲取現在的時鐘時間。3.now current timestamp localtime sysdate 四類函式可以獲取當前的日期和時鐘時間 4.da...

SQL Server時間日期的資料型別和函式

資料型別 格式time hh mm ss nnnnnnn date yyyy mm dd smalldatetime yyyy mm dd hh mm ss datetime yyyy mm dd hh mm ss nnn getdate 獲取當前系統日期和時間 在指定日期的基礎上加上一段時間,返回...