2016-06-06 2 views
1

я сделать запрос к базе данных с PHP (Laravel), который возвращает объект даты следующим образом:Swift - Преобразовать дату и объект времени от сервера к местному времени на Iphone

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

Как я могу преобразовать этот объект на локальную дату и время iPhone в быстром?

спасибо.

ответ

5
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. 
+0

Просто отлично. Спасибо. – sbkl