如何为日期字符串
构造格式化程序(NSFormatter)Date dateString = "Sun Oct 30 2016 00:00:00 GMT+0530 (IST)"
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "E MMM d yyyy HH:mm:ss" // This line is not working
let dd: Date? = dateFormatter.date(from: dateString)
print("Date \(dd)") // Is returning null
API参考: https://developer.apple.com/reference/foundation/dateformatter
答案 0 :(得分:2)
我认为你必须告诉DateFormatter
忽略格林威治标准时间'部分,因为它会抛弃它。如果您有+0530
,则表示GMT,因此您不需要它。
对于这个字符串:
let dateString = "Sun Oct 30 2016 00:00:00 GMT+0530"
此格式有效:
dateFormatter.dateFormat = "E MMM d yyyy HH:mm:ss 'GMT'x"
如果(IST)
始终相同,您可以使用
dateFormatter.dateFormat = "E MMM d yyyy HH:mm:ss 'GMT'x '(IST)'"
如果该部分可能有所不同,您应该在解析日期之前使用String方法删除该部分字符串。