2010-09-20 159 views
0

我一直在用生日提醒应用程序很长一段时间。在此期间,我注意到联系生日在不同设备上以不同格式存储。其中几个给出如下。android如何在没有年份的情况下存储日期?

YYYY-MM-DD
YYYY-MM-dd'T'HH:MM:ss'Z '
YYYY-MM-dd'T'HH:MM:ss.SSS'Z' 原

花了很多崩溃和错误报告来弄清楚这些格式。

现在,我与日期没有一年重复有同样的问题。这是一个有效的案例,并得到谷歌联系人的支持。我拥有HTC Desire,这些日期以(--MM-dd)的格式存储在我的手机中。

我想知道的是,Android是否有任何标准的存储日期(如生日/周年纪念)的方式时没有指定年份?根据DateParser的说法,它应该是当前的一年,但这是无效的。 如何明确指定日期中的年份未知?

在此先感谢。

回答

3

我不认为Android和暗示核心Java库有一种方法来保存一个没有年份的日期,因为内部Date类使用从纪元时间(1/1/1900)的无符号长整数。它由开发人员负责处理奇怪的数据,比如通过使用诸如“无年”之类的额外属性的类来处理奇怪的数据,或者设置一个默认值,您在处理没有年份的某个日期时必须处理该默认值。如果你需要做复杂的日期/时间数学,它会很快变得非常混乱。在这种情况下,您可能需要查看Joda-Time library,其中有部分内容可能只是一个月的组合。

相关问题