解析日期并将其存储在SQLite数据库中

时间:2011-05-07 16:41:46

标签: android sqlite date

我正在使用SAXParser解析一个xml文件,并且在处理程序中我正在创建一个对象,其中一个数据库是日期。

我的XML文件上的日期采用以下格式:2010-12-28

我找不到如何将这样的字符串转换为Date对象。我也不明白如何将它存储在SQLite数据库中,因为似乎有很多格式(有小时/分钟/等等)。

我需要它存储在一个对象中,这样我才能计算出时间间隔等。

有人可以帮我这个吗?

1 个答案:

答案 0 :(得分:9)

您可以使用Java的简单日期格式将日期格式化为可用于进行计算的Date对象,如下所示:

http://download.oracle.com/javase/1.4.2/docs/api/java/text/SimpleDateFormat.html

您想要的解析字符串是"yyyy'-'MM'-'dd"

至于将其存储到SQLite数据库中,您有几个选择:

  • 将其存储为字符串,并在出现时将其转换回日期对象
  • (首选)将其存储为unix时间戳(Date.getTime()为您提供自1970年以来的毫秒数,并且您可以将该值存储在数据库中。)这种方式是首选,因为你不必做那么多(相对昂贵的)转换。您可以对long时间戳值进行简单的基本操作。

使用SQLite的内置日期函数还有其他几个选项(如here所述),但最终还是要将其拉入Android / Java代码并将其作为Date进行操作对象你不得不进行转换。