2012-10-05 79 views
0

我正在使用的Android下面的代碼來獲得當前日期時間Java的當前日期時間不sqlite的日期時間公認

Date currentDateTime = new Date(); 

而且它在SQLite表存儲爲

currentDateTime.ToString() 

所以在表中的值存儲像這樣

"Tue Sep 11 20:32:39 IST 2012" 
"Thu Sep 13 17:23:38 IST 2012" 
"Thu Sep 13 17:34:38 IST 2012" 
"Thu Sep 13 20:21:58 IST 2012" 

現在我需要排序他們在sqlite按desc順序即。

select datetime(datecolumn) from table order by datetime(datecolumn) desc; 

但是當我做場上的日期時間(列)它讓我空了的日期字段

所有行顯然有對源碼側的數據不匹配。但我不知道如何解決它 - 有沒有一種方法,我仍然可以更改sqlite方面的查詢,以便能夠讀取此?或者我必須更改JAVA代碼並以sqlite可讀格式插入數據。

我也需要時間,因爲我正在處理小時數據。

+0

當你說存儲在sqlite表中時,你使用的是JDBC還是等價的?如果是這樣,爲什麼不使用'setDate(,新的java.sql.Date(date.getMillis())'來插入日期字段?如果不是JDBC,爲什麼不呢? – Vikdor

+0

對不起,我應該提到我正在使用JAVA Android sqlite插入幫助器,直接插入數據到sqlite表中 – Slartibartfast

+0

如果你想從java代碼中添加datetime,總是保持日期時間爲YYYY-MM-DD HH:MM:SS格式如果你只是想將當前日期時間添加到sqlite數據庫來自sqlite命令集的DateTime('Now','Localtime')。 –

回答

3

我會用

currentDateTime.getTime()) 

和存儲值 - 在數據庫中需要更少的空間,我想更快排序SQLite的

0

Date And Time Functions對於那些公認的格式列表日期由SQLite。

如果希望數據庫字段比單個毫秒值更具可讀性,請將字符串格式化爲YYYY-MM-DD HH:MM:SS