DateComponents提供错误的日期

时间:2016-11-11 07:49:23

标签: ios swift3 nsdatecomponents

我正在尝试使用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点之间。为什么会这样?

1 个答案:

答案 0 :(得分:0)

您尚未指定组件中的时区,小时数和小时数。因此,假设所有这些值都为零。生成的时间是格林威治标准时间午夜,指定的年,月和日。

当您打印结果时,您指定了当前时区,该时区似乎是5小时30米不同。

我猜你在印度。