objective-c - dateByAddingTimeInterval 参数语法

标签 objective-c oop nsdate

如果我将方法 dateByAddingTimeInterval: 发送到 NSDate,如下所示:

NSDate *today = [NSDate date]; 
NSDate *tomorrow = [now dateByAddingTimeInterval:24.0];
NSDate *yesterday = [now dateByAddingTimeInterval:-24.0];

NSArray *dates = [NSArray arrayWithObjects: today, tomorrow, yesterday, nil];

NSLog(@"today's date is %@", [dates objectAtIndex:0]);
NSLog(@"yesterday's date was %@", [dates objectAtIndex:2]);

我得到这个输出:

...The first date is 2012-08-30 02:14:19 +0000
...The third date is 2012-08-30 02:13:55 +0000

这很奇怪,因为第三个日期应该是 2012-08-29

但是...如果我将 NSDate 消息更改为:

NSDate *today = [NSDate date];
NSDate *tomorrow = [now dateByAddingTimeInterval:24.0 * 60.0 * 60.0];
NSDate *yesterday = [now dateByAddingTimeInterval:-24.0 * 60.0 * 60.0];

为什么添加 * 60.0...

...The first date is 2012-08-30 02:15:25 +0000
...The third date is 2012-08-29 02:15:25 +0000

使输出正确?

谢谢。

最佳答案

NSDate 以秒计算时间。

关于objective-c - dateByAddingTimeInterval 参数语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12189014/

相关文章:

ios - iphone 中的锁定方向问题

objective-c - 如何在 Objective-C 中列出对象的所有字段?

ios - 呀!我们没有遗漏任何 dSYM

swift - 以正确的方式从 Int 构造日期

iphone - PresentModalViewController : Where to release?

javascript - 如何在 JavaScript 中建模这个数据结构? (AngularJS)

JavaFX 按钮对第二次单击而不是第一次单击使用react

java - 如何从存储在接口(interface)文件中的数组中选择随机元素?

ios - 更改当前日期

iphone - 如何从iphone IOS上的时间间隔解析和提取年,月,日等