【问题标题】:Swift - Convert date and time object from server to local time on iphoneSwift - 将日期和时间对象从服务器转换为 iPhone 上的本地时间
【发布时间】:2016-06-06 23:59:18
【问题描述】:

我使用 php (laravel) 向我的数据库发出请求,它返回如下日期对象:

"lastMessageDate" : {
  "date" : "2016-06-06 23:37:32.000000",
  "timezone" : "UTC",
  "timezone_type" : 3
}

如何快速将此对象转换为 iPhone 的本地日期和时间?

谢谢。

【问题讨论】:

    标签: swift datetime-format


    【解决方案1】:
    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 对象。 Date 对象知道如何处理时区。因此,例如,如果您想向用户显示日期,您可以使用为本地时区设置的日期格式化程序:

    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.
    

    【讨论】:

    • 完美。谢谢。
    猜你喜欢
    • 2013-04-26
    • 2016-04-04
    • 2016-08-27
    • 1970-01-01
    • 2013-03-24
    • 2012-10-07
    • 1970-01-01
    • 2015-01-07
    • 1970-01-01
    相关资源
    最近更新 更多