我解析了一些由Web服務返回的XML。字符串:2015-12-24T12:00:00
位於fromTimestamp
中,沒有時區。 「天才」(我不是這個意思)在幾分鐘內將時區信息保存在XML中的一個自己的字段中。所以300
的意思是GMT + 05:00。NSDate和沒有時區信息的字符串
我一直在閱讀很多關於NSDate
和所有這個時區的東西,我知道NSDate
不在乎時區,那NSDateFormatter
工作。
但是,爲了「轉換」沒有時區的時間戳,以便NSDate中的值代表GMT時間,我將GMT+05:00
添加到字符串中,以便它變成2015-12-24T12:00:00 +05:00
。這是如何做到的?當您從字符串轉換爲日期時不需要添加時區,NSDate
認爲該值是GMT時間?那是我不瞭解的部分。只是在沒有時區信息的情況下轉換字符串是錯誤的,因爲NSDate
將不能從NSDate
中的值減去5小時?那是對的嗎?我很難解釋它。
所以我有關將時區信息字符串之前轉換到的NSDate的必要性推理是正確的?因爲否則時間戳會被解釋爲格林尼治標準時間,而不是先從中減去幾小時? (很難解釋我的意思,希望你能理解)。 – LuckyLuke
關閉。如果沒有從日期字符串解析特定的時區信息,並且日期格式化程序沒有設置特定的時區,則日期字符串將被視爲「本地」時間,而不是GMT。 – rmaddy
這是否意味着它使用從系統獲取的時區? – LuckyLuke