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浏览器上看到商店数据时,它存储如下,
在时间字段中 - >的日期('15:20:16' ,的strftime( '%H:%M:%S'))
在日期字段中 - >的日期( '2013年2月14日',的strftime( '%Y-%间 - %d'))
是否正确存储?如果我使用日期功能选择日期和时间,它会正确返回日期吗?
答案 0 :(得分:2)
您正在构建的SQL函数未执行但存储为字符串。您可以将日期存储为格式化字符串或长(从unix纪元开始的时间)。
换句话说,不要存储字符串date('15:20:16',strftime('%H:%M:%S'))
,而只是存储15:20:16
。
答案 1 :(得分:0)
您应该将它作为long值存储在数据库中,然后使用适当的类(Calendar,Date,DateFormat)在代码中对其进行操作