gpt4 book ai didi

ios - 从 UIDatePicker 中选择的日期与保存的日期不同

转载 作者:可可西里 更新时间:2023-11-01 05:54:58 27 4
gpt4 key购买 nike

这就是我设置日期选择器的方式

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。

最佳答案

您的时区是 -8。 2013-11-17 16:00:00 +0000 等于 2013-11-18 00:00:00 -0800

使用 [NSTimeZone timeZoneForSecondsFromGMT:0] 而不是 [NSTimeZone localTimeZone]

关于ios - 从 UIDatePicker 中选择的日期与保存的日期不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19888399/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com