从swift4中的时区获取日期和时间

时间:2017-10-28 19:29:11

标签: swift date time timezone swift4

我的时区为String类型,我希望在Swift 4中的此时区中获取日期(格式为dd:mm:yyyy)和时间(格式为hh:mm:ss)。我可以这样做吗?

我已经看过日历库,但我不明白如何看待它来解决我的问题。

1 个答案:

答案 0 :(得分:2)

let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "dd:MM:yyy hh:mm:ss"

let timeZone = TimeZone(identifier: "Europe/Amsterdam")

dateFormatter.timeZone = timeZone

dateFormatter.string(from: Date())

虽然,我认为格式"dd-MM-yyyy HH:mm:ss"似乎更正确。话说回来;在解析自定义日期格式时,应使用设置dateFormat来设置格式。在格式化要向用户显示的日期时,应使用用户期望的日期格式(在默认系统区域设置中)。为此,您应该使用dateStyletimeStyle

dateFormatter.dateStyle = .medium
print(dateFormatter.string(from: Date())) // prints "Oct 28, 2017"

dateFormatter.dateStyle = .medium
dateFormatter.timeStyle = .medium
print(dateFormatter.string(from: Date())) // prints "Oct 28, 2017 Oct 28, 2017 at 11:19:13 PM"