swift_将UIDatePicker获取到的时间传到下一个页面出现相差几个小时的问题
2014-09-18 17:29
597 查看
今天,在写swift demo的时候遇到了一个很奇葩的问题,我再 present 出来的页面中利用 UIDatePicker 选取时间,然后再将获取到的时间传回原来的主界面,结果问题出现了:B页面获取时间正常,传回A页面后时间少了8个小时。百思不得其解,Google找了一些答案说是要这样:
虽然说问题解决了,但是还是有点不明白为什么会出现这样的情况,难道是 XCode GM版的原因(不太可能啊~)。希望知道啥原因的童鞋不吝赐教,共同进步!
//------------2014.09.20 修改--------------------
今天装了XCode 6.0.1正式版,从B页面传datePicker.date 到 A页面已经不会出现少了8个小时的问题了。但是打印出来的时间却是和debug看到的时间不一样,一样相隔8个小时,debug 看到的是 CST时间,而打印出来时间可能是不是CST时间,应该是时区问题造成的,目前还不知道如何让打印出来的时间跟系统显示的时间相一致。
参考资料:IOS-NSDate 相差8个小时
time.timeZone = NSTimeZone.systemTimeZone() time.calendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)加了之后也没有什么作用,还是一样相差8小时。后来有找到另外一种解决办法这样:
let timeZone = NSTimeZone.systemTimeZone() let seconds = timeZone.secondsFromGMTForDate(addObject.time.date) let correctDate = addObject.time.date.dateByAddingTimeInterval(Double(seconds))
虽然说问题解决了,但是还是有点不明白为什么会出现这样的情况,难道是 XCode GM版的原因(不太可能啊~)。希望知道啥原因的童鞋不吝赐教,共同进步!
//------------2014.09.20 修改--------------------
今天装了XCode 6.0.1正式版,从B页面传datePicker.date 到 A页面已经不会出现少了8个小时的问题了。但是打印出来的时间却是和debug看到的时间不一样,一样相隔8个小时,debug 看到的是 CST时间,而打印出来时间可能是不是CST时间,应该是时区问题造成的,目前还不知道如何让打印出来的时间跟系统显示的时间相一致。
参考资料:IOS-NSDate 相差8个小时
相关文章推荐
- DatePicker 获取时间的时区问题
- 获取的NSDate时间和实际相差8个小时的解决方案
- js从后台获取数据时,防止页面缓存问题,url后加时间戳
- 时区问题导致windows时间同步后总是差几个小时
- GoLang 获取两个时间相差多少小时
- JS 获取两个时间相差多少个小时
- PHP获取系统时间慢几个小时解决方法(附date函数字符)
- Struts2 访问Action和Jsp页面出现的路径问题解决方案之 ---- 为jsp、图片、js、css等获取Web工程的绝对路径的方法
- Bootstrap中datepicker时间插件出现问题
- 前台页面传到后台的中文数据出现乱码问题
- JS获取两个日期工作日相差的小时数(不包含周末)----可以指定一天的上班时间
- PHP5中Date()函数获取时间相差8小时问题的解决方法
- DatePicker获取时间时,如何转换时区的问题
- 在论坛中出现的比较难的sql问题:45(用户在线登陆时间的小时、分钟计算问题)
- 关于获取当前时间出现1970年问题的解决
- 【Java】获取2个日历类型的时间相差多少年、月、天、小时、分钟、秒
- JS时间处理,获取天时分秒。以及浏览器出现的不兼容问题
- dhcpd 软件,出现客户端获取ip时间长的问题
- swift_将UIDatePicker到达的传播之间的时间差在数小时出现页面的事
- 关于HttpClient 获取页面,出现乱码的问题