我正在尝试使用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)!
调试时我发现在声明今天日期后,它的值为2016-11-11 07:44:44 +0000
。使用dateComponents后,值更改为2016-11-10 18:30:00 +0000
。根据我的位置,那天应该是11月11日,时间应该是在下午1点或2点之间。为什么会这样?
答案 0 :(得分:0)
您尚未指定组件中的时区,小时数和小时数。因此,假设所有这些值都为零。生成的时间是格林威治标准时间午夜,指定的年,月和日。
当您打印结果时,您指定了当前时区,该时区似乎是5小时30米不同。
我猜你在印度。