【发布时间】:2013-11-10 10:02:03
【问题描述】:
这就是我设置 datePicker 的方式
self.datePicker = [[UIDatePicker alloc] init];
self.datePicker.timeZone = [NSTimeZone localTimeZone];
这就是我保存所选日期的方式
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateStyle:NSDateFormatterMediumStyle];
[formatter setTimeZone:[NSTimeZone localTimeZone]];
dateToSave = [formatter dateFromString:self.dateTextField.text];
NSLog(@"date saved = %@", dateToSave);
如果我从日期选择器中选择 2013 年 11 月 18 日,NSLog 会显示
date saved = 2013-11-17 16:00:00 +0000
但是,在我的代码中,我需要获取今天的日期和我在日期选择器中选择的日期之间的天数差异。
NSDateComponents *dateComponents = [[NSCalendar currentCalendar] components:NSDayCalendarUnit fromDate:[NSDate date] toDate:dateSaved options:0];
NSLog(@"number of days => %i", [dateComponents day]);
今天是 11 月 10 日。我保存的日期是 11 月 18 日。但是相差的天数是 7,而不是 8。
【问题讨论】:
-
计算差值时
[NSDate date]和dateSaved的值是多少? -
我保存的日期是... 2013-11-17 16:00:00 +0000 今天的日期是... 2013-11-10 10:36:55 +0000
-
您使用的是哪个时区?
标签: ios nsdateformatter uidatepicker nstimezone