我有興趣創建一種方法來查找當前日期是否在特定日期的特定時間之間。這是一個調度計劃,所以我想知道當前發生了什麼事件。每天都有相同的時間:820-900,900-940,940-1020等。由於這必須在任何一天完成,我不知道如何創建一個特定時間的NSDate。我認爲這可能與NSTimeInterval完成,但我不知道如何實例化。NSDate在兩個給定的NSDates之間
7
A
回答
26
這是不完美的,但你可以使用[NSDate的比較:]檢查你的約會對陣雙方邊界:
NSDate *firstDate = ...
NSDate *secondDate = ...
NSDate *myDate = [NSDate date];
switch ([myDate compare:firstDate]) {
case NSOrderedAscending:
NSLog(@"myDate is older");
// do something
break;
case NSOrderedSame:
NSLog(@"myDate is the same as firstDate");
// do something
break;
case NSOrderedDescending:
NSLog(@"myDate is more recent");
// do something
break;
}
switch ([myDate compare:secondDate]) {
case NSOrderedAscending:
NSLog(@"myDate is older");
// do something
break;
case NSOrderedSame:
NSLog(@"myDate is the same as secondDate");
// do something
break;
case NSOrderedDescending:
NSLog(@"myDate is more recent");
// do something
break;
}
或者更簡單:
BOOL between = NO;
if (([myDate compare:firstDate] == NSOrderedDescending) &&
([myDate compare:secondDate] == NSOrderedAscending)) {
between = YES;
}
我敢肯定有一個更好的方法來做複雜的日期比較,但這應該工作。
4
看看 - [NSCalendar組件:fromDate:]。它可以讓你將一個日期分解成不同的組件,然後你可以在這個例子中查看小時和分鐘。
11
最簡單的方法是使用-timeIntervalSinceReferenceDate
將每個日期轉換爲NSTimeInterval
類型的值,該值僅爲double
。
NSTimeInterval rightNow = [[NSDate date] timeIntervalSinceReferenceDate];
從那裏,確定日期是否在任何給定的兩個日期之間只是簡單的數字比較的問題。
如果您需要將日期的字符串表示形式轉換爲NSDate實例,然後檢索時間間隔,請使用NSDateFormatter。
如果您需要從已知日期組件創建日期,請使用NSCalendar。 (即您知道年份是2010年,月份是4,日期是12,您可以使用NSCalendar的組件通過-dateFromComponents:
方法生成NSDate實例)。
由於本表示,NSCalendar的組件接口,也可用於蘇斯出小時&分鐘,以確定它是否是在一個範圍內(這似乎是在最事件不會每天都在發生非典型用法同時......但是......當然......也有這樣的理由!)
相關問題
- 1. 兩個NSDates之間的區別
- 2. 2個NSDates之間的時間間隔
- 3. 從兩個NSDates
- 4. 兩個NSDates之間的月數和天數
- 5. 獲取兩個NSDates之間的所有日期(不是幾天)
- 6. 比較兩個NSDates在iPhone
- 7. 比較兩個NSDates
- 8. 在給定時間創建NSDate
- 9. 不能比較兩個NSDates
- 10. 如何編譯兩個NSDates?
- 11. 在兩個給定的日期之間的bash循環
- 12. iPhone - NSDate之間的轉換 - NSString - NSDate
- 13. 給兩個div之間的差距?
- 14. Java在兩個給定值之間生成隨機數
- 15. 計算兩個給定數字之間的百分比給定的數字
- 16. 比較兩個NSDates帶來的誤報
- 17. 如何在listiview中給兩個圖像之間的空間?
- 18. 比較同一日期/時間的兩個NSDates
- 19. 2個NSDates之間的差異,不包括週末?
- 20. iOS - TimeZone問題與2個NSDates之間的差異
- 21. 如何查找兩個給定座標之間的格點
- 22. 列出兩個給定日期之間的天
- 23. 兩個給定日期之間的天數
- 24. 計算兩個給定日期之間的天數
- 25. 兩個給定日期之間的搜索日期
- 26. 給定兩個標記之間的Git diff
- 27. 列出兩個給定值之間的所有值
- 28. 在iPhone上的兩個NSDate之間循環的最簡單方法?
- 29. 添加兩個NSDate
- 30. 空間之間的兩個
沒有例子。 :(:( – bluefloyd8 2013-11-25 14:18:07