【发布时间】:2015-06-06 05:21:05
【问题描述】:
我从服务器获取 UTC 时区的字符串日期,我需要将其转换为本地时区。
我的代码:
let utcTime = "2015-04-01T11:42:00.269Z"
let dateFormatter = NSDateFormatter()
dateFormatter.timeZone = NSTimeZone(name: "UTC")
dateFormatter.dateFormat = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"
let date = dateFormatter.dateFromString(utcTime)
println("utc: \(utcTime), date: \(date)")
这个打印 -
UTC:2015-04-01T11:42:00.269Z,日期:可选(2015-04-01 11:42:00 +0000)
如果我删除
dateFormatter.timeZone = NSTimeZone(name: "UTC")
打印出来
UTC:2015-04-01T11:42:00.269Z,日期:可选(2015-04-01 08:42:00 +0000)
我的本地时区是 UTC +3 在第一个选项中我得到 UTC 在第二个选项中,我得到 UTC -3
我应该得到
UTC:2015-04-01T11:42:00.269Z,日期:可选(2015-04-01 14:42:00 +0000)
那么如何将 UTC 日期格式转换为本地时间呢?
【问题讨论】:
-
你试过 formatter.timeZone = NSTimeZone.localTimeZone()
-
是的,我得到 UTC -3 ... UTC:2015-04-01T11:42:00.269Z,日期:可选(2015-04-01 08:42:00 +0000)跨度>
-
@ilan 我在 swift 中也面临同样的问题。你能帮我解决这个问题吗?
-
@Rakesh 查看下面的答案,它们对我有用。
标签: ios swift date timezone nsdate