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

2 sqlite android date

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

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

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

我需要它存储在一个对象中,这样我就可以计算时间跨度等.

有人可以帮我弄这个吗?

deb*_*cey 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内置的日期函数(如描述在这里),但最终,如果你想将它拉入了Android/Java代码,并操纵它作为Date你要去OT必须做转换对象.

  • @Sled如果你选择第一个选项,你会使用`text`.但是首选的选项是使用unix时间戳处理,在这种情况下你会使用`integer`(它可以保存Java`long`值) (2认同)