ios uidatepickerr上的时间获取出来总会减一天是什么情况

如上图,下午两点22 ,得到的是早上6点22,不一致,如何解决呢?NSDate *date = picker.date;& & NSTimeZone *timeZone=[NSTimeZonesystemTimeZone];& & NSInteger seconds=[timeZonesecondsFromGMTForDate:date];& & NSDate *newDate=[datedateByAddingTimeInterval:seconds];& & NSLog(@&%@&,newDate);&& && & NSString *str = [NSStringstringWithFormat:@&%@&,newDate];& & str = [str substringToIndex:16];& & NSLog(@&%@&,str);&转换后的,str 即为
最新教程周点击榜
微信扫一扫查看: 11851|回复: 0
swift_将UIDatePicker获取到的时间传到下一个页面出现相差几个小时的问题
今天,在写swift demo的时候遇到了一个很奇葩的问题,我再 present 出来的页面中利用 UIDatePicker 选取时间,然后再将获取到的时间传回原来的主界面,结果问题出现了:B页面获取时间正常,传回A页面后时间少了9个小时。百思不得其解,Google找了一些答案说是要这样:
time.timeZone = NSTimeZone.systemTimeZone() time.calendar = NSCalendar(calendarIdentifier: NSGregorianCalendar)复制代码加了之后也没有什么作用,还是一样相差9个小时。后来有找到另外一种解决办法这样:
let timeZone = NSTimeZone.systemTimeZone()let seconds = timeZone.secondsFromGMTForDate(addObject.time.date)let correctDate = addObject.time.date.dateByAddingTimeInterval(Double(seconds))复制代码
虽然说问题解决了,但是还是有点不明白为什么会出现这样的情况,难道是 XCode GM版的原因(不太可能啊~)。希望知道啥原因的童鞋不吝赐教,共同进步!
上一篇:下一篇:2008年12月 移动平台大版内专家分月排行榜第一
2009年3月 移动平台大版内专家分月排行榜第三2009年1月 移动平台大版内专家分月排行榜第三2008年11月 移动平台大版内专家分月排行榜第三
匿名用户不能发表回复!|
每天回帖即可获得10分可用分!小技巧:
你还可以输入10000个字符
(Ctrl+Enter)
请遵守CSDN,不得违反国家法律法规。
转载文章请注明出自“CSDN(www.csdn.net)”。如是商业用途请联系原作者。[ios]UIDatePicker 返回当前日期,甚至当我选择一个不同的日期
注意事项: 本文中文内容可能为机器翻译,如要查看英文原文请点击上面连接.
所以我有一种方法,在那里我将键盘更改为 UIDatePicker,和我想让用户选择要设置的提醒的日期。到目前为止我有键盘换到 UIDatePicker,并打印出它只打印当前日期,无论我的设置的日期字符串时。
self.datePicker = [[UIDatePicker alloc] init];
[self.noteTextView becomeFirstResponder];
[self.noteTextView setInputView:self.datePicker];
NSDate *date = self.datePicker.
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setTimeZone:NSDateFormatterNoStyle];
[dateFormatter setLocale:[NSLocale currentLocale]];
self.myDate = [dateFormatter stringFromDate:date]; //a string of the date that I want to use in other methods
NSLog(@"Date: %@", [dateFormatter stringFromDate:date]);
解决方法 1:
UIDatePicker 的默认日期是当前日期,这是您要打印。对于被采摘日期使用
[self.myDatePicker addTarget:self action:@selector(datePickerChanged:) forControlEvents:UIControlEventValueChanged];
- (void)datePickerChanged:(UIDatePicker *)datePicker
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"dd-MM-yyyy HH:mm"];
NSString *strDate = [dateFormatter stringFromDate:datePicker.date];
NSLog(@"Date: %@", strDate);}

我要回帖

更多关于 jquery ui datepicker 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信