今天,在写swift demo的时候遇到了一个很奇葩的问题,我再 present 出来的页面中利用 UIDatePicker 选取时间,然后再将获取到的时间传回原来的主界面,结果问题出现了:B页面获取时间正常,传回A页面后时间少了9个小时。百思不得其解,Google找了一些答案说是要这样:
time.timeZone = NSTimeZone.systemTimeZone() time.calendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)
let timeZone = NSTimeZone.systemTimeZone()let seconds = timeZone.secondsFromGMTForDate(addObject.time.date)let correctDate = addObject.time.date.dateByAddingTimeInterval(Double(seconds))
虽然说问题解决了,但是还是有点不明白为什么会出现这样的情况,难道是 XCode GM版的原因(不太可能啊~)。希望知道啥原因的童鞋不吝赐教,共同进步!