我正在使用我的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. 更改日期選擇器對話框當前日期 - android java
- 2. 日期在數據庫更改爲當前日期
- 3. jquery當日期更改,更改另一個日期
- 4. 當前日期
- 5. 獲取當前Julian日期並將其更改爲Scala中的正常日期
- 6. 如何更改角度材料日期選擇器當前日期顏色
- 7. 由當前日期
- 8. 僅當前日期
- 9. 如何在設置日期到當前日期捕獲值列表字段更改時的當前時間
- 10. mysql插入當前日期+更多天
- 11. 將最後修改日期減去當前日期
- 12. 基於當前日期更改範圍驗證器的值
- 13. 更改ISO 8601日期字符串24從當前值小時
- 14. 更改當前內聯jQuery UI datepicker的默認日期
- 15. 更改MaterialCalandarView中的當前日期顏色
- 16. SQLite當前日期和過去幾年的當前日期
- 17. 選擇WHERE日期比當前日期更大
- 18. MongoDB的更新與當前日期和時間日期
- 19. 更改日期
- 20. 更改日期
- 21. 當前日期是當前或超過
- 22. 當前日期,當前月份?
- 23. 日期。減去從列當前日期
- 24. 比較當前日期和日期inp
- 25. 將日期添加到當前日期
- 26. PHP:日期不是當前日期
- 27. AngularJS當前日期驗證
- 28. 當前日期在app.config
- 29. DateTime.ParseExact返回當前日期
- 30. 顯示當前日期
24小時還是一天?不希望看到另一個鬧鐘在一年兩次的錯誤時間喚醒我;-) – 2011-04-19 14:19:55