我想要什么:如何在Android上正确解析从String到DateFormat的联系人生日?
我写,我想找出今天我的联系人都有其生日的应用程序。
我有什么至今:
我已经可以扫描手机的联系人列表,让每个生日为String
。
的问题是什么:
有三种不同的情况,当谈到生日的DateFormat
。
- 案例:我只知道日月而不是年。在这种情况下,存储的生日
String
看起来像这样:--MM-dd
。我可以通过将String
的长度与我定义的SimpleDateFormat
进行解析来处理这个问题。 - 案例:我也知道这一年。在这种情况下,99%的存储生日
String
看起来像这样:yyyy-MM-dd
。我也可以处理这个。 - 案例:我也知道当年,但存储的生日
String
看起来像这样:dd.MM.yyyy
。这个长度与上面的一样长,所以我不能根据长度来区分两者。
我想知道的:
为什么存储不同DateFormat
S中的联系人的生日?这取决于Locale
?我用德语和英语(美国)Locale
进行了测试,结果相同。我还删除并在不同DateFormat
(来自案例3)的联系人中添加了生日。他们像以前一样储存。 : - /有没有办法以一种简单而优雅的方式覆盖所有可能的DateFormat
s存储生日,而无需创建各种各样的DateFormat
s并在循环中检查它们?
由于提前, kaolick
不是一个坏主意。但是如果像这样的第四种格式有生日,那么这将不起作用:'MM-dd-yyyy'? – kaolick
有没有办法检查,如果我说我的生日是05-06-1992,如果你不知道我的生日是什么格式,你会怎么知道?可能是6号吗?还是六月五号? – Eluvatar
这就是我的意思!所以我需要一个不同的方法... – kaolick