ios - 如何从 NSDate 获得 1 小时的 future 时差

标签 ios objective-c nsdate nsdateformatter nsdatecomponents

<分区>

我想为用户启用一项功能,使其仅在当前时间 1 小时后执行一项功能。我到底应该在下面的代码中传递什么 toDate 参数才能获得与当前时间相差 1 小时的 future 时差?我不知道如何在 NSDateFormatterNSDateComponents 中设置 future 时间。所以不能写我试过的东西。

- (NSInteger)timeDifference:(NSDate *)fromDate ToDate:(NSDate *)toDate
{

    NSLog(@" FromDate: %@, ToDate: %@",fromDate,toDate);

    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDateComponents *differenceValue = [calendar components:NSHourCalendarUnit
                                                    fromDate:fromDate toDate:toDate options:0];
    NSLog(@"Calculated hour difference : %d",[differenceValue hour]);
    NSInteger hourDifference = [differenceValue hour];

    NSLog(@" HourDifference: %d",hourDifference);
    return hourDifference;
}

最佳答案

如果您想创建一个比特定日期晚一小时的日期,您可以使用 dateByAddingTimeInterval 方法,例如:

NSDate *date = [NSDate date];
NSDate *plusOneHour = [date dateByAddingTimeInterval:60.0f * 60.0f];

NSLog(@"%@, %@", date, plusOneHour);

已更新

如@uchuugaka 所述,您可以使用日历方法找到版本 here .

关于ios - 如何从 NSDate 获得 1 小时的 future 时差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29458593/

上一篇:ios - 自动布局,为大屏幕保留按钮间距

下一篇:ios - iPhone 触摸面比屏幕大吗?

相关文章:

ios - 找不到 <ParseFacebookUtilsV4/PFFacebookUtils.h> 文件

iphone - UILocalNotification 未在正确的时间调用

objective-c - 在第二个 ViewController 上显示工具栏

iOS 7 UITableView 问题 - 尝试设置滑动以删除已有单元格的单元格

ios - NSDateFormatter 添加多余的时间

ios - UILocalNotification-在每个时区的6:00 am触发

ios - 使用 WKWebView 显示本地 XML 文档

ios - 短网址的NSData无法使UIImage

objective-c - 以模态呈现 UIView 不是全屏

ios - NSDateFormatter- stringFromDate 不返回 AM/PM