Ios 字符串中的NSDateFormatter为零
我正试着用一个字符串来定一个日期。字符串是:“2015-09-09T00:00:00.000Z” 我的NSDateFormatter dateFormat为:Ios 字符串中的NSDateFormatter为零,ios,swift,nsdate,nsdateformatter,Ios,Swift,Nsdate,Nsdateformatter,我正试着用一个字符串来定一个日期。字符串是:“2015-09-09T00:00:00.000Z” 我的NSDateFormatter dateFormat为: dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'" dateFormatter.timeZone = NSTimeZone(forSecondsFromGMT: 0) dateFormatter.locale = NSLocale(localeIdentifier: "us_
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
dateFormatter.timeZone = NSTimeZone(forSecondsFromGMT: 0)
dateFormatter.locale = NSLocale(localeIdentifier: "us_US")
它的格式正确,但我的其他尝试只是简单地返回nil
我试过“yyy-MM-dd'T'HH:MM'Z'”甚至“yyy-MM-dd”。两者都返回零
我希望它在下午6:30读到09-10-2015。
有人能提供一些建议吗?我认为您应该将locale设置为“en_US_POSIX”
请注意,
dateFormatter.dateFromString(dateString)
可能不会为您提供输出,因为您传递的字符串可能不是日期字符串。使用返回nil
的实际代码更新您的问题。您发布的代码没有返回任何内容。请不要转义Z=“yyyy-MM-dd'HH:MM:ss.SSSZ”,将区域设置设置为“en_-US_-POSIX”,并将日历设置为NSCalendar(calendarIdentifier:NSCalendarIdentifierISO8601)您所在位置的时区偏移量是多少。为什么您期望UTC时间00:00返回下午6:30的日期?偏移时间是5个半小时吗?对不起,Leo,我刚才用的是6:30pm作为示例。@yamski请包含输入字符串和相应的时区。您的日期在UTC时间看起来像ISO8601(Z表示UTC时间)
dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ssZ"
dateFormatter.locale = NSLocale(localeIdentifier:@"en_US_POSIX")
dateFormatter.timeZone = NSTimeZone(forSecondsFromGMT:0)
dateFormatter.dateFromString(dateString)