如何在swift 3中获取本地时区日期

use*_*169 7 date ios swift3

我以这种方式从给定日期获取年、月和日。

let today=Date()
var calendar = Calendar.current
calendar.timeZone = .current
let components = calendar.dateComponents([.year, .month, .day], from: today)    

let day=components.day
Run Code Online (Sandbox Code Playgroud)

但是我比现在提前了一天。我该如何解决这个问题?

Kru*_*nal 6

let date = Date().description(with: Locale.current)
print("date ---> \(date)")
Run Code Online (Sandbox Code Playgroud)

结果:日期 ---> 2017 年 6 月 20 日星期二下午 4:35:15 印度标准时间

我得到了完美的系统/本地时间。

你的代码正在工作,

let today=Date()
var calendar = Calendar.current
calendar.timeZone = .current
let components = calendar.dateComponents([.year, .month, .day, .hour, .minute], from: today)

let day = components.day
let hour = components.hour
let minute = components.minute
print("day = \(day)\nhour = \(hour)\nminute = \(minute)")
Run Code Online (Sandbox Code Playgroud)

结果:
天 = 可选(20)
小时 = 可选(16)
分钟 = 可选(35)