如何将日历数据存储在数据库中

时间:2011-09-03 20:05:36

标签: android database calendar

我想在我的Android数据库中存储日历条目。 在数据库中存储int和String等简单类型是没有问题的。但我无法弄清楚如何存储日历类型。

我的表格如下: reate table wishes(_id integer primary key autoincrement,“             +“名称文字不为空”             +“日期文本,picurl文本,.....)

所有内容都被声明为“文字”。

在我的活动中,我有以下代码: Calendar cal = Calendar.getInstance();

cal应该存储在我的表中。有人可以暗示一下吗?

3 个答案:

答案 0 :(得分:4)

从日历的纪元表示中保存毫秒:

long millis = calendar.getTimeInMillis();

然后将此长存储在数据库中。您可以通过从数据库中读取长值并使用日历中的setTimeInMillis(long millis)来恢复日历。

答案 1 :(得分:3)

要拥有一个稳定的本地化独立解决方案,我建议更改数据库表以存储日期。您可以使用dateCalendar.getTimeInMillis()获取日历日期,并在阅读时添加类似

的行
long dateAsMillis;
dateCalendar = Calendar.getInstance();
dateCalendar.setDate(dateAsMillis);

但是如果你真的需要/想要使用字符串,请查看DateFormat.parse(String) - 你可以定义日期应该具有的格式,从而从String创建一个Date对象。

答案 2 :(得分:-1)

我会将您的Date转换为String并将该字符串存储到数据库中。 然后,当您从数据库中读取String时,只需将其解析为Date。

相关问题