在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