在Android中,每个事件(例如生日和周年纪念日)都以字符串格式保存,例如, “2011-12-24”。将Android的日期字符串转换为日期对象
这是至少我的手机的情况。如果其他手机的日历与公历不同,则其他手机可能会以其他格式存储这些日期。
即使是设置了公历日历的手机,也有日期字符串,包括小时,分钟和不带。我得到这样一个日期字符串,当我查询联系人表的事件:
cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Event.START_DATE))
这导致(例如):
“2011-12-14”或“2011-12-24T00: 00:00Z“
您可以看到有很多不同的可能格式。为了计算日期,我需要将它们从String转换为Date对象,不需要我吗?
我该怎么做?
PS:我知道有面向Java日期对象解析函数:
DateFormat myDateFormat = new SimpleDateFormat("dd/MM/yy");
Date tempDate = myDateFormat.parse("24/12/2011");
但在Android的,我不知道哪种格式我将要面临的,是吧?
谢谢你的好,乐于助人的答案!我正在查询联系人表中的一个事件:cursor.getString(cursor.getColumnIndex(ContactsContract.CommonDataKinds.Event.START_DATE)) – caw 2011-12-27 05:52:12
...这是我得到一个日期字符串形式,例如, “2011-12-24T00:00:00Z”。我怎样才能得到日期作为日期对象?没有方法“cursor.getDate()”... ... – caw 2011-12-28 00:48:26
你可以在这种情况下解析它。此外,无论设置何种语言,此日期格式都是相同的,因此您可以放心地假设。 – 2011-12-28 01:00:50