如何从字符串返回预定义时区中的NSDate
let responseString = "2015-8-17 GMT+05:30"
var dFormatter = NSDateFormatter()
dFormatter.dateFormat = "yyyy-M-dd ZZZZ"
var serverTime = dFormatter.dateFromString(responseString)
println("NSDate : \(serverTime!)")以上代码返回的时间为
2015-08-16 18:30:00 +0000发布于 2015-08-17 09:37:25
如何在预定义的时区中返回NSDate?
你不能这么做。
NSDate的实例不携带任何有关时区或日历的信息。它只是简单地指出了宇宙时间中的一个点。
您可以在任何日历中解释这个NSDate对象。Swift的字符串插值(示例代码的最后一行)使用使用UTC的NSDateFormatter (输出中的"+0000“)。
如果要将NSDate值作为当前用户日历中的字符串,则必须为此显式设置日期格式化程序。
发布于 2015-08-17 09:23:02
日期格式必须分配给日期格式化程序的dateFormat属性。
let date = NSDate.date()
let dateFormatter = NSDateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
let str = dateFormatter.stringFromDate(date)
println(str)这将使用设备上的默认时区打印日期。只有当您想要根据不同的时区进行输出时,才会添加例如
斯威夫特3*
dateFormatter.timeZone = NSTimeZone(name: "UTC")斯威夫特4*
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")还请参考链接http://www.brianjcoleman.com/tutorial-nsdate-in-swift/
发布于 2018-07-10 00:08:03
Swift 4.0
dateFormatter.timeZone = TimeZone(abbreviation: "UTC")https://stackoverflow.com/questions/32046550
复制相似问题