在db端,checkInTime和checkOutTime的类型为TIMESTAMP
在我的java代码中,checkInTime和checkOutTime的类型也是java.sql.Timestamp
为了将一条记录插入到数据库中,我使用了这段代码:
1. ContentValues contentValues=new ContentValues();
2. contentValues.put(USER_ID, userId);
3. contentValues.put(ROOM_ID, roomId);
4. contentValues.put(CHECK_IN, checkInTime);
5. contentValues.put(CHECK_OUT, checkOutTime);
6. return database.insert(MRM_BOOKING_DETAILS_TABLE, null, contentValues);但是我在第4行和第5行收到了编译错误,因为它们不需要java.sql.Timestamp类型的内容
我看不到ContentValues的任何put方法会在它的第二个参数中接受类型java.sql.Timestamp。请建议在这种情况下如何传递java.sql.Timestamp,以便我也可以删除编译错误。
谢谢,
发布于 2012-04-15 19:40:05
我建议你使用DATETIME而不是TIMESTAMP。它在处理日期和时间时更加通用。
此外,在插入数据库或从数据库读取数据时,可以使用SimpleDateFormat来解析日期时间值。
final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");更新:
尝试如下所示:
final SimpleDateFormat parser = new SimpleDateFormat("yyyy-MM-ddTHH:mm:ss.SSS");
contentValues.put(CHECK_IN, parser.format(checkInTime));
contentValues.put(CHECK_OUT, parser.format(checkOutTime));发布于 2012-04-15 17:49:43
如果checkInTime和checkOutTime是位时间戳,那么在将thm存储到contentvalue之前,只需将其转换为毫秒并进行存储,然后在检索时将其重新转换为所需的格式。因为ContentValue不接受timeStamps,所以只需要转换和存储,这样就不会出现任何编译错误。
https://stackoverflow.com/questions/10160968
复制相似问题