【发布时间】:2018-01-28 12:37:09
【问题描述】:
在 iOS、Xcode9 和 Obj-C 中,我试图找出两个日期之间的天数。我知道 NSTimeIntervalSince 方法会在几秒钟内产生结果。但似乎当我计算连续天之间的秒数(如 11-2-2016 和 11-3-2016)时,我短了 1 秒,得出 86,399。如果我计算较大间隔之间的秒数,我总是短一秒。
2016 年 11 月 2 日至 2016 年 11 月 4 日:172,799(两天 24 小时,但缺少一秒)
2016 年 11 月 2 日至 2016 年 11 月 5 日:259,199(三个 24 小时天,但缺少一秒)
这是我的代码:
@property (strong, nonatomic) NSDate *firstDate;
@property (strong, nonatomic) NSDate *secondDate;
@synthesize firstDate, secondDate;
int secondsIntervalFirstDatetoSecondDate = (fabs([firstDate timeIntervalSinceDate:secondDate]));
NSLog(@"seconds between firstDate and secondDate %i", secondsIntervalFirstDatetoSecondDate);
firstDate 和 secodDate 是 NSDate 它们由用户使用 datePicker 输入,日期格式设置为
[formatter setDateFormat:@"MM-dd-yyyy"];
我已经搜索了答案,但没有找到。
新手第一次发帖,礼仪错误见谅,我会努力改进的。
【问题讨论】:
-
很难说。发布创建日期对象的代码。
-
(顺便说一句,如果你是新手,为什么要用 Objective-C 编程?几乎所有新的开发都是在 Swift 中完成的。)
-
^可能是 StackOverflow 的新手,但正在处理一个旧项目.. @OP: pastebin.com/UiC6Zp3b 这将打印
259200.0.. 您可能在某处遇到格式问题或舍入问题.. 不知何故.. -
@DuncanC 和其他人:我刚刚编辑了帖子以展示我创建的对象。我怀疑我需要向您展示更多的代码,但不确定。你们可以告诉我...
-
@DuncanC 和其他人:StackOverflow 的新手,软件开发的新手,自 2010 年以来我一直在涉足 iOS 应用程序。在 Obj-C 中工作已经够难了,所以迁移到 Swift 会翻倍我的无能!我在 1980 年代学习编码。我是一名全职医生。医生和实习生的应用程序是我的爱好,也是我对我的领域的贡献。我很想辞掉我的日常工作并深入学习编程。但我可能不太擅长,我有点喜欢并需要我的日常工作。
标签: ios nstimeinterval