2013-02-26 70 views
0
receivedDate="25022013"; 
receivedTime="150526"; 

receivedTime=receivedTime.trim(); 
String HH = receivedTime.substring(0, 2); 
String MM = receivedTime.substring(2, 4); 
String SS = receivedTime.substring(4, 6); 

receivedTime="date('"+HH+":"+MM+":"+SS+"',strftime('%H:%M:%S'))"; 

receivedDate=receivedDate.trim(); 
String dd = receivedDate.substring(0, 2); 
String mm = receivedDate.substring(2, 4); 
String yyyy = "20"+receivedDate.substring(4,6); 

receivedDate="date('"+yyyy+"-"+mm+"-"+dd+"',strftime('%Y-%m-%d'))"; 

ContentValues values=new ContentValues(); 
values.put(DBConstants.TIME,receivedTime); 
values.put(DBConstants.DATE, receivedDate); 

masterDataDB.insert(DBConstants.MASTER_DATA_TABLE, null, values); 

將此日期和時間插入到TEXT類型字段中。當我在Sqlite瀏覽器上看到商店數據時,它存儲如下,作爲日期存儲在sqlite表中的日期('15:20:16',strftime('%H:%M:%S'))。

In Time field->date('15:20:16',strftime('%H:%M:%S'))

在日期現場>日期( '2013年2月14日',的strftime( '%Y-%間 - %d'))

它被正確地儲存?如果我使用日期功能選擇日期和時間,它會正確返回日期?

+0

由於您正在更改日期格式,因此它會根據您設置的格式將數據存儲在數據庫中。 – GrIsHu 2013-02-26 07:36:48

+0

您是否嘗試從數據庫中檢索日期並檢查格式'? – GrIsHu 2013-02-26 07:37:09

+0

我有困惑... SQLite3文件說使用任何類型像TEXT,REAL或INTEGER.But他們沒有給任何樣品 – Ramprasad 2013-02-26 08:30:56

回答

2

SQL要構建沒有被執行,但是存儲函數操作它的代碼作爲字符串。您可以將日期存儲爲格式化的字符串或long(自UNIX時代以來的時間)。

換句話說,不要存儲字符串date('15:20:16',strftime('%H:%M:%S')),而只是存儲15:20:16

+0

謝謝CL ..它工作正常。我測試了它。把你的答案。我會接受 – Ramprasad 2013-02-26 10:07:55

0

你應該將其存儲在數據庫中的一個long值,然後使用適當的類別爲它(日曆,日期,日期格式)

相關問題