2015-09-11 51 views
-1

我想從一個字符串作出日期。字符串是:「2015-09-09T00:00:00.000Z」。從字符串NSDateFormatter是零

我有一個NSDateFormatter DATEFORMAT:

dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" 
dateFormatter.timeZone = NSTimeZone(forSecondsFromGMT: 0) 
dateFormatter.locale = NSLocale(localeIdentifier: "us_US") 

它格式正確,但我的其他企圖簡單地將其返回零。

我試過「yyyy-MM-dd'T'HH:mm'Z'」,甚至是「yyyy-MM-dd」。兩者都返回零。

我希望在下午6點30分閱讀09-10-2015。 有人可以提供一些建議嗎?

+1

使用返回'nil'的實際代碼更新您的問題。您發佈的代碼不會返回任何內容。 – rmaddy

+0

不要逃避Z = 「YYYY-MM-dd'T'HH:MM:ss.SSSZ」 區域設置爲 「en_US_POSIX」 和日曆NSCalendar(calendarIdentifier:NSCalendarIdentifierISO8601) –

+0

什麼時區在您的位置偏移。你爲什麼期待與UTC時間00:00返回下午6:30的日期?偏移時間是5個半小時? –

回答

0

我想你應該設置的地點爲「en_US_POSIX」

dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZ" 
dateFormatter.locale = NSLocale(localeIdentifier:@"en_US_POSIX") 
dateFormatter.timeZone = NSTimeZone(forSecondsFromGMT:0) 
dateFormatter.dateFromString(dateString) 

注意dateFormatter.dateFromString(dateString)可能不會給你的輸出,因爲你把這個字符串可能不是一個日期字符串。