NSDateFormatter不适用于实际设备

时间:2015-07-24 09:43:00

标签: swift nsdateformatter

我尝试使用NSDateFormatter,如下所示 在模拟器上,它工作正常。 - > 2015年6月1日
但是,在实际设备上,它确实不起作用。它将是零。

let d = "Wed Jul 01 04:48:51 +0000 2015"
let formatter = NSDateFormatter()
            formatter.dateFormat = "EEE MMM dd HH:mm:ss Z yyyy"
if let date = formatter.dateFromString(d) {
    formatter.dateFormat = "yyyy-MM-dd"
    self.dateLabel?.text = formatter.stringFromDate(date)
}

这是iPhone的问题吗?

1 个答案:

答案 0 :(得分:0)

可能是区域设置和12/24小时时间处理的问题。 尝试强制格式化程序的区域设置与您收到的日期保持一致。

let d = "Wed Jul 01 04:48:51 +0000 2015"
let formatter = NSDateFormatter()
formatter.dateFormat = "EEE MMM dd HH:mm:ss Z yyyy"
formatter.locale = NSLocale(localeIdentifier: "en_US_POSIX")
if let date = formatter.dateFromString(d) {
    formatter.locale = NSLocale.currentLocale()
    formatter.dateFormat = "yyyy-MM-dd"
    self.dateLabel?.text = formatter.stringFromDate(date)
}

查看这些question/answers了解详情。