我有这个代码工作,但现在突然间,它开始崩溃。我无法弄清楚,任何帮助将不胜感激。
let dateFormatter = NSDateFormatter()
dateFormat = "EEE, MMM d, yyyy hh:mm a"
dateFormatter.dateFormat = dateFormat
let date = dateFormatter.dateFromString("Thu, Jan 5, 2017 12:28 PM")
它返回date
为零。为什么?我希望它能恢复正确的日期。
这看起来像是一个可能重复的问题,但它具有特定的细节。
答案 0 :(得分:0)
let dateformattor = NSDateFormatter()
dateformattor.dateFormat = "EEE, MMM d, yyyy hh:mm a"
dateformattor.timeZone = NSTimeZone.localTimeZone()
let dt = "Thu, Jan 5, 2017 12:28 PM"
let dt1 = dateformattor.dateFromString(dt as String)
print(dt1) //print date and time UTC format.
输出:
2017-01-05 06:58:00 +0000
答案 1 :(得分:0)
var dateFormatter = DateFormatter()
let dateFormat = "EEE, MMM d, yyyy hh:mm a"
dateFormatter.dateFormat = dateFormat
let date = dateFormatter.date(from: "Thu, Jan 5, 2017 12:28 PM")
输出:
答案 2 :(得分:0)
每次使用时间和日期格式化程序时,请记住设置区域设置和时区!
具有非英语语言环境的设备将无法解析“星期四,2017年1月5日12:28 PM”,因为“星期四”和“Jan”显然是英语特定的。
所以:
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")
dateFormatter.locale = Locale(identifier: "en_US_POSIX")
或您要使用的任何时区和区域设置