成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

iPhone應用程序中Sqlite時間函數及時間處理

移動開發 iOS
本文主要介紹了iPhone應用程序中Sqlite時間函數及時間處理,主要講解了Sqlite時間函數及時間處理的表現方式,來看本文內容。

iPhone應用程序中Sqlite時間函數及時間處理是本文要介紹的內容,主要講解了Sqlite時間函數及時間處理的表現方式,我們來看詳細內容。這篇文章是根據 SQLite 官方 WIKI 里的內容翻譯,如果有什么翻譯不當的地方希望大家指出,畢竟我的英文水平實在很差。SQLite包括以下五個時間函數:

date(日期時間字符串, 修正符, 修正符, ……)

time(日期時間字符串, 修正符, 修正符, ……)

datetime(日期時間字符串, 修正符, 修正符, ……)

julianday(日期時間字符串, 修正符, 修正符, ……)

strftime(日期時間格式, 日期時間字符串, 修正符, 修正符, ……)

上述五個函數需要一個日期時間字符串做參數,后面可以跟零到多個修正符參數。而 strftime() 函數還需要一個日期時間格式字符串做***個參數。

date() 函數返回一個以 “YYYY-MM-DD” 為格式的日期;

time() 函數返回一個以 “YYYY-MM-DD HH:MM:SS” 為格式的日期時間;

julianday() 函數返回一個天數,從格林威治時間公元前4714年11月24號開始算起;

strftime() 函數返回一個經過格式話的日期時間,它可以用下面的符號對日期和時間進行格式化:

  1. %d 一月中的第幾天 01-31  
  2. %f 小數形式的秒,SS.SSSS  
  3. %H 小時 00-24  
  4. %j 一年中的第幾天 01-366  
  5. %J Julian Day Numbers  
  6. %m 月份 01-12  
  7. %M 分鐘 00-59  
  8. %s 從 1970-01-01日開始計算的秒數  
  9. %S 秒 00-59  
  10. %w 星期,0-6,0是星期天  
  11. %W 一年中的第幾周 00-53  
  12. %Y 年份 0000-9999  
  13. %% % 百分號 

其他四個函數都可以用 strftime() 函數來表示:

  1. date(…)        ->  strftime(“%Y-%m-%d”,…)  
  2. time(…)        ->  strftime(“%H:%M:%S”,…)  
  3. datetime(…)   ->  strftime(“%Y-%m-%d %H:%M:%S”,…)  
  4. julianday(…)  ->  strftime(“%J”,…) 

日期時間字符串,可以用以下幾種格式:

  1. YYYY-MM-DD  
  2. YYYY-MM-DD HH:MM  
  3. YYYY-MM-DD HH:MM:SS  
  4. YYYY-MM-DD HH:MM:SS.SSS  
  5. YYYY-MM-DDTHH:MM  
  6. YYYY-MM-DDTHH:MM:SS  
  7. YYYY-MM-DDTHH:MM:SS.SSS  
  8. HH:MM  
  9. HH:MM:SS  
  10. HH:MM:SS.SSS  
  11. now  
  12. DDDD.DDDD 

在第五種到第七種格式中的“T”是一個分割日期和時間的字符;第八種到第十種格式只代表2000-01-01日的時間,第十一種格式的’now’表示返回一個當前的日期和時間,使用格林威治時間(UTC);第十二種格式表示一個 Julian Day Numbers。

修正符

日期和時間可以使用下面的修正符來更改日期或時間:

  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 week  
  10. start of day  
  11. weekday N  
  12. unixepoch  
  13. localtime  
  14. utc 

前六個修正符就是簡單的增加指定數值的時間和日期;第七到第十個修正符表示返回當前日期的開始;第十一個修正符表示返回下一個星期是N的日期和時間;第十二個修正符表示返回從1970-01-01開始算起的秒數;第十三個修正符表示返回本地時間。

下面舉一些例子:

計算機當前時間

  1. SELECT date(‘now’) 

計算機當前月份的***一天

  1. SELECT date(‘now’,’start of month’,’+1 month’,’-1 day’) 

計算UNIX 時間戳1092941466表示的日期和時間

  1. SELECT datetime(‘1092941466’,’unixepoch’) 

計算 UNIX 時間戳1092941466 表示的本地日期和時間

  1. SELECT datetime(‘1092941466’,’unixepoch’,’localtime’) 

計算機當前UNIX 時間戳

  1. SELECT strftime(‘%s’,’now’) 

兩個日期之間相差多少天

  1. SELECT jolianday(‘now’)-jolianday(‘1981-12-23’) 

兩個日期時間之間相差多少秒

  1. SELECT julianday('now')*86400 - julianday('2004-01-01 02:34:56')*86400 

計算今年十月份***個星期二的日期

  1. SELECT date('now','start of year','+9 months','weekday 2'); 

得到年

  1. strftime(‘%y’,'2008-4-28') 

得到月

  1. strftime(‘%m’,'2008-4-28') 

同樣,我們也可以通過strftime來得到其它所要的信息,但是要記得,給時間加引號

  1. 例1.  
  2. select datetime('now');  
  3. 結果:2006-10-17 12:55:54  
  4.  
  5. 例2.  
  6. select datetime('2006-10-17');  
  7. 結果:2006-10-17 12:00:00  
  8.  
  9. 例3.  
  10. select datetime('2006-10-17 00:20:00','+1 hour','-12 minute');  
  11. 結果:2006-10-17 01:08:00  
  12.  
  13. 例4.  
  14. select date('2006-10-17','+1 day','+1 year');  
  15. 結果:2007-10-18  
  16.  
  17. 例5.  
  18. select datetime('now','start of year');  
  19. 結果:2006-01-01 00:00:00  
  20.  
  21. 例6.  
  22. select datetime('now','start of month');  
  23. 結果:2006-10-01 00:00:00  
  24.  
  25. 例7.  
  26. select datetime('now','start of day');  
  27. 結果:2006-10-17 00:00:00  
  28.  
  29. 例8.  
  30. select datetime('now','+10 hour','start of day','+10 hour');  
  31. 結果:2006-10-17 10:00:00  
  32.  
  33. 例9.  
  34. select datetime('now','localtime');  
  35. 結果:2006-10-17 21:21:47  
  36.  
  37. 例10.  
  38. select datetime('now','+8 hour');  
  39. 結果: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(格式, 日期/時間, 修正符, 修正符, ...)

它可以用以下的符號對日期和時間進行格式化:

  1. %d 月份, 01-31  
  2. %f 小數形式的秒,SS.SSS  
  3. %H 小時, 00-23  
  4. %j 算出某一天是該年的第幾天,001-366  
  5. %m 月份,00-12  
  6. %M 分鐘, 00-59  
  7. %s 從1970年1月1日到現在的秒數  
  8. %S 秒, 00-59  
  9. %w 星期, 0-6 (0是星期天)  
  10. %W 算出某一天屬于該年的第幾周, 01-53  
  11. %Y 年, YYYY  
  12. %% 百分號 

strftime()的用法舉例如下:

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

例11用圓點作為日期的分隔附,并把時間轉換為當地的時區的時間。

小結:iPhone應用程序中Sqlite時間函數及時間處理的內容介紹完了,希望本文對你有所幫助!

責任編輯:zhaolei 來源: 互聯網
相關推薦

2009-07-17 10:42:06

Swing應用程序處理函數

2011-07-21 10:47:37

iPhone Cocoa 委托

2011-08-10 16:57:15

iPhone事件程序包

2011-07-28 13:59:40

iPhone App

2018-05-21 08:52:15

Linux應用程序啟動時間

2011-07-21 15:56:32

iPhone 截屏

2011-07-27 17:30:40

iPhone Locate 定位

2011-08-12 14:54:45

iPhone委托

2011-07-19 14:36:32

iPhone

2011-08-05 13:49:53

iPhone 應用 開發

2011-07-20 15:58:58

iPhone 應用程序 生命周期

2011-07-26 09:41:23

iPhone xcode Mac OS X

2010-08-27 10:41:41

iPhone核心應用程序

2011-04-19 09:19:55

應用程序項目管理

2011-07-26 11:13:15

iPhone PXL

2011-07-19 10:56:15

iPhone 控制器 視圖

2010-09-10 09:50:33

iPhone軟件iPhone

2011-08-10 16:50:10

iPhone生命周期

2011-07-19 10:42:41

iPhone 應用程序 模型

2011-07-19 11:12:07

iPhone 控制器
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 777777777亚洲妇女 | 日日操天天射 | 久久精品日产第一区二区三区 | 日韩国产精品一区二区三区 | 欧美电影在线观看网站 | 亚洲播放 | 国产精品久久久久久久久免费桃花 | 91精品国产99 | 日韩三级一区 | 日韩精品一区中文字幕 | 狠狠草视频 | 日韩精品一区二区三区视频播放 | 国产成都精品91一区二区三 | 91久久国产精品 | 亚洲国产成人久久久 | 国产不卡一区在线观看 | 超碰伊人久久 | 欧美xxxx黑人又粗又长 | 亚洲国产精品一区二区三区 | 日韩字幕 | 久久精品一二三影院 | 日本大片在线播放 | 午夜精品一区二区三区在线视频 | 欧美激情 亚洲 | 亚洲精品丝袜日韩 | 国产精品视频一二三区 | 国产高清av免费观看 | 91色网站 | 欧美午夜精品 | 在线观看国产精品一区二区 | 一区二区三区国产 | 欧美成人高清 | 日本一区二区在线视频 | 国产精品高潮呻吟久久av野狼 | 又黄又爽的网站 | 九九热这里 | 国产精品成人在线播放 | 精品欧美一区二区精品久久久 | 久久高清国产 | 米奇7777狠狠狠狠视频 | 日韩中文字幕在线免费 |