问题 通过ContentValues将时间戳插入数据库


在Android中,是否可以使用时间戳插入数据库 ContentValues?当我尝试使用以下内容添加它时:

ContentValues args = new ContentValues();       
args.put(MY_DATE, my_date);

我告诉我这个错误 my_date 需要成为一个 String。有关如何实现这一目标的任何建议?


4927
2017-08-07 23:00


起源



答案:


也不 Date 也不 Calendar 是有效的东西放在一个 ContentValues。我认为,最有效的格式是转换 Date 到毫秒(getTime()并将其存储在 INTEGER 柱。


15
2017-08-07 23:13



但请注意,在检索数据时不能使用getInt(),需要使用getDouble()(在游标上)。 Java-ints的大小不足以存储时间戳(这个游戏我不久前是一个主要的头痛)。 - Alxandr
或者只使用getLong()。 - alexanderblom
谢谢你的回复。似乎我可以将时间戳作为字符串添加到contentvalues,并且当我使用mDb.insert(DATABASE_TABLE,null,args)时,它作为sql时间戳插入到数据库中,没问题。 - Kevin Bradshaw


答案:


也不 Date 也不 Calendar 是有效的东西放在一个 ContentValues。我认为,最有效的格式是转换 Date 到毫秒(getTime()并将其存储在 INTEGER 柱。


15
2017-08-07 23:13



但请注意,在检索数据时不能使用getInt(),需要使用getDouble()(在游标上)。 Java-ints的大小不足以存储时间戳(这个游戏我不久前是一个主要的头痛)。 - Alxandr
或者只使用getLong()。 - alexanderblom
谢谢你的回复。似乎我可以将时间戳作为字符串添加到contentvalues,并且当我使用mDb.insert(DATABASE_TABLE,null,args)时,它作为sql时间戳插入到数据库中,没问题。 - Kevin Bradshaw