0
我想今天的日期使用DateComponents转换:DateComponents给人错误的日期
let calendar = Calendar.current
//add today's date
var todayDate = Date()
var dateComponents = calendar.dateComponents([.day, .month, .year], from: todayDate)
dateComponents.timeZone = TimeZone.current
todayDate = calendar.date(from: dateComponents)!
在调试我发现,宣布todayDate之后,它的价值是2016-11-11 07:44:44 +0000
。使用dateComponents后,该值更改为2016-11-10 18:30:00 +0000
。而根据我的位置,这一天应该是11月11日,时间应该在1点到2点之间。这是为什么发生?
我在上面指定了'dateComponents.timeZone = TimeZone.current'。让我尝试添加小时和分钟,然后再试一次 – StudentX
添加.hour和.minute后,日期是正确的,但时间仍然是UTC。 – StudentX
您也需要提取时区。没有单独设置。 –