我正在使用我的iPhone开发中的日期。我需要从当前日期起24小时增加日期。更改当前日期
更改当前日期
回答
您可以使用dateByAddingTimeInterval
NSDate *currentDate = [NSDate date];
NSDate *datePlusOneDay = [currentDate dateByAddingTimeInterval:(60 * 60 * 24)]; //one day
不应该说'NSDate * datePlusOneDay'吗? – 2011-04-19 14:06:07
@NickWeaver你是对的..但它已经由Matthias编辑..谢谢 – Krishnabhadra 2012-05-29 11:18:24
简单:
NSDate *tomorrow = [[NSDate date] dateByAddingTimeInterval:86400];
addTimeInterval是iOS4中的弃用方法 – 2011-04-19 13:53:45
感谢您指出。我继续编辑我的答案。 – 2011-04-19 14:04:14
你可以添加一个NSTimeInterval。由于这是在几秒钟内双只需加24 * 60 * 60:
- (id)dateByAddingTimeInterval:(NSTimeInterval)seconds
尝试
NSDate *twentyFourHoursLater = [[NSDate alloc] initWithTimeIntervalSinceNow:60 * 60 * 24];
保存在NSUserDefaults的下载日期再检查如果24小时过去了? 如果不通知用户他/她将不得不等待。
NSUserdefaults不是关键字,我没有让你 – sujay 2011-04-19 14:37:44
将上次下载日期保存在NSUserDefaults。而当你尝试下载只是检查该日期。
是这样的:
- (BOOL)downloadDataForecedUpdate:(BOOL)forced {
NSDate *lastDownloadDate = [[NSUserDefaults standardUserDefaults] objectForKey:@"lastDownloadDate"];
if (forced || !lastDownloadDate || [[NSDate date] timeIntervalSinceDate:lastDownloadDate] > 24 * 60 * 60) {
// start download
[NSURLConnection connectionWithRequest:myDownloadRequest delegate:self];
return YES;
}
return NO;
}
- (void)connectionDidFinishLoading:(NSURLConnection *)connection {
// process data
[[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"lastDownloadDate"];
}
你可以叫[self downloadDataForecedUpdate:NO]
徘徊无论它是适当的。在应用程序启动或IBAction中。使用方法的返回值来显示下载指示符或告诉用户他必须等待更多的警报。
根据您真正想要达到的效果,仅在您的时间间隔内添加86,400(或60 * 60 * 24)可能不是您想要的。例如,如果用户体验夏令时调整,那么如果发生在午夜附近,您将会关闭一小时,甚至一天。更好的方法是向NSCalendar询问结果,该结果考虑了用户本地时区。
NSDate *start = yourDate;
NSDateComponents *oneDay = [NSDateComponents new];
[oneDay setDay:1];
NSCalendar *cal = [NSCalendar currentCalendar];
NSDate *end = [cal dateByAddingComponents:oneDay toDate:start options:0];
- 1. 日期在数据库更改为当前日期
- 2. 更改日期选择器对话框当前日期 - android java
- 3. 更改日期前的日期
- 4. jquery当日期更改,更改另一个日期
- 5. 当前日期
- 6. 当前日期和以前的日期和更新目标
- 7. 当前模板的修改日期
- 8. 由当前日期
- 9. 仅当前日期
- 10. Xpath当前日期
- 11. 如何更改角度材料日期选择器当前日期颜色
- 12. 获取当前Julian日期并将其更改为Scala中的正常日期
- 13. 如何在设置日期到当前日期捕获值列表字段更改时的当前时间
- 14. mysql插入当前日期+更多天
- 15. 将最后修改日期减去当前日期
- 16. 如何根据当前日期更改背景
- 17. 更改当前日期的primefaces计划事件的颜色
- 18. 更改ISO 8601日期字符串24从当前值小时
- 19. 如何限制用户更改当前日期
- 20. 基于当前日期更改范围验证器的值
- 21. SQL查询 - 基于当前日期的动态月份更改
- 22. 如何更改为twitter-bootstrap表格中的当前日期
- 23. 更改MaterialCalandarView中的当前日期颜色
- 24. 更改当前内联jQuery UI datepicker的默认日期
- 25. 将当前日期添加到当前日期mysql
- 26. 将当前日期与Date.Now()比较当前日期为PAST
- 27. SQLite当前日期和过去几年的当前日期
- 28. 选择WHERE日期比当前日期更大
- 29. MongoDB的更新与当前日期和时间日期
- 30. 根据当前日期更新'日期'数据
24小时还是一天?不希望看到另一个闹钟在一年两次的错误时间唤醒我;-) – 2011-04-19 14:19:55