2013-02-26 36 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值,然后使用适当的类别为它(日历,日期,日期格式)

相关问题