2015-09-11 48 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)可能不会给你的输出,因为你把这个字符串可能不是一个日期字符串。