2014-04-15 88 views
2

,比如我有這個日期2010年1月5日週三14:00 GMT-8 我該如何實現這個,所以我可以與時區保存?如何在帶時區的sqlite上格式化日期時間?

我可以使用nsformatter保存此與yyyy-MM-dd hh:mm 並保存爲

2010-01-05 14:00 

但是w/timezone怎麼樣?

(它應該被保存在日期時間格式..不是文本格式)

+0

嘗試像這樣...'新日期(「jan 5,2010 14:00 wednesday gmt-8」)' – Soundar

回答

1

您可以使用[格式setDateFormat:@ 「YYYY-MM-DD HH:MM是」]時區的這會給輸出這樣「2010-01-05 02:00 PM」

或 [格式setDateFormat:@ 「MMM DD,YYYY HH:MM一」]

+0

是的,謝謝。但這不是我想問的問題的答案(在sqlite上)是這樣的:2010-01-05 14:00 GMT-8(採用日期時間格式)...類似的東西 – user3517855

-1

把時區中的另一列,你會不會破限制SQLLITE的現有日期功能。使用alter table語句將列添加到sqllite非常簡單。 Android SQLite Database, WHY drop table and recreate on upgrade

SQLite沒有專門用於存儲日期和/或時間的存儲類。取而代之的是,SQLite的的內置日期和時間函數能夠存儲日期和時間爲TEXT,REAL,或整數值:

TEXT as ISO8601 strings ("YYYY-MM-DD HH:MM:SS.SSS"). 
REAL as Julian day numbers, the number of days since noon in Greenwich on November 24, 4714 B.C. according to the proleptic Gregorian calendar. 
INTEGER as Unix Time, the number of seconds since 1970-01-01 00:00:00 UTC. 

應用程序可以選擇存儲日期和時間的任何格式和自由使用內置的日期和時間函數在格式之間進行轉換。

+0

我能夠製作在sqlite的日期時間格式的列? – user3517855

+0

想着這個我實際上從來不會在表格的每一行上存儲一個時區。然而,我會在某個地方存儲一個時區! – danny117