【发布时间】:2015-03-01 10:08:36
【问题描述】:
我有一个函数
func createDate(day: Int, month: Int, year: Int) -> NSDate {
var comp = NSDateComponents()
comp.day = day
comp.month = month
comp.year = year
var cal = NSCalendar.currentCalendar()
if var date = cal.dateFromComponents(comp) {
return date
}
return NSDate()
}
如果我用它来称呼它
createDate(07, 01, 1984)
输出为1984-01-06 23:00:00 +0000。我认为时区有一些影响。如何调整我的代码以使输出为1984-01-07 00:00:00 +0000?我在这里做错了什么?我怎么糊涂了?
【问题讨论】:
-
正如其他人所说,一个 NSDate 对象总是包含 UTC 时间(或其一些概念版本),这就是你 NSLog 时打印的内容。要查看正确的日期/时间,请使用 NSDateFormatter 设置为您的时区。
标签: ios swift nsdate nscalendar nsdatecomponents