我正在使用 SAXParser 解析 xml 文件,并在处理程序中创建对象,其中一个数据成员是日期。
我的 XML 文件中的日期格式如下:2010-12-28
。
不过,我找不到如何将这样的字符串转换为 Date 对象的方法。而且我也不明白如何将它存储在 SQLite 数据库中,因为似乎有很多格式(带有小时/分钟/等的格式)
我需要将它存储在一个对象中,以便计算时间跨度等。
有人可以帮我解决这个问题吗?
最佳答案
您可以使用 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
对象,您将不得不进行转换。
关于android - 解析日期并将其存储在 SQLite 数据库中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5922532/