Swift - 在 iphone 将日期和时间对象从服务器转换为本地时间
Swift - Convert date and time object from server to local time on iphone
我使用 php (laravel) 向我的数据库发出请求,其中 return 日期对象如下:
"lastMessageDate" : {
"date" : "2016-06-06 23:37:32.000000",
"timezone" : "UTC",
"timezone_type" : 3
}
如何将此对象转换为 swift 中 iPhone 的本地日期和时间?
谢谢。
import Foundation
let serverDateFormatter: NSDateFormatter = {
let result = NSDateFormatter()
result.dateFormat = "yyyy-MM-dd HH:mm:ss.SSSSSS"
result.timeZone = NSTimeZone(forSecondsFromGMT: 0)
return result
}()
let s = "2016-06-06 23:37:32.000000"
let d = serverDateFormatter.dateFromString(s)!
以上将产生一个 NSDate 对象。日期对象知道如何处理时区。因此,例如,如果您想向用户显示日期,您可以使用为本地时区设置的日期格式化程序:
let localDateFormatter: NSDateFormatter = {
let result = NSDateFormatter()
result.dateStyle = .MediumStyle
result.timeStyle = .MediumStyle
return result
}()
print(localDateFormatter.stringFromDate(d)) // prints "Jun 6, 2016, 7:37:32 PM" in my time zone.
我使用 php (laravel) 向我的数据库发出请求,其中 return 日期对象如下:
"lastMessageDate" : {
"date" : "2016-06-06 23:37:32.000000",
"timezone" : "UTC",
"timezone_type" : 3
}
如何将此对象转换为 swift 中 iPhone 的本地日期和时间?
谢谢。
import Foundation
let serverDateFormatter: NSDateFormatter = {
let result = NSDateFormatter()
result.dateFormat = "yyyy-MM-dd HH:mm:ss.SSSSSS"
result.timeZone = NSTimeZone(forSecondsFromGMT: 0)
return result
}()
let s = "2016-06-06 23:37:32.000000"
let d = serverDateFormatter.dateFromString(s)!
以上将产生一个 NSDate 对象。日期对象知道如何处理时区。因此,例如,如果您想向用户显示日期,您可以使用为本地时区设置的日期格式化程序:
let localDateFormatter: NSDateFormatter = {
let result = NSDateFormatter()
result.dateStyle = .MediumStyle
result.timeStyle = .MediumStyle
return result
}()
print(localDateFormatter.stringFromDate(d)) // prints "Jun 6, 2016, 7:37:32 PM" in my time zone.