我收到兩個字符串:「from」=「12:30」和「to」=「14:30」,它們是兩個NSString對象。 我想檢查當前時間是否在兩個收到的時間之間。 這樣做的最好方法是什麼? 謝謝。將小時和分鐘與當前時間進行比較
回答
從輸入日期獲取小時/分組件:
NSCalendar *gregorianCal = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dataComps = [gregorianCal components: (NSHourCalendarUnit | NSMinuteCalendarUnit) fromDate:yourDate];
NSInteger minutes = [dateComps minute];
NSInteger hours = [dateComps hour];
然後分裂的時間字符串並比較分鐘和小時。另一種方法是將字符串轉換爲NSDate
並比較日期。
- (BOOL)date:(NSDate*)date isBetweenDate:(NSDate*)beginDate andDate:(NSDate*)endDate
{
if ([date compare:beginDate] == NSOrderedAscending)
return NO;
if ([date compare:endDate] == NSOrderedDescending)
return NO;
return YES;
}
我試過,但比較三日我應該設置日,月,年的兩個日期我收到..很無聊.. – Lolloz89
提議Aravindhanarvi可能看起來像下面的第二個解決方案...
NSString *time1 = @"12:30";
NSString *time2 = @"14:30";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"HH:mm";
// ignore time zone of device
formatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];
NSDate *date1 = [formatter dateFromString:time1];
NSDate *date2 = [formatter dateFromString:time2];
NSDate *now = [NSDate date];
BOOL inBetween = ([now compare:date1] == NSOrderedDescending
&& [now compare:date2] == NSOrderedAscending);
這個解決方案不關心三個日期的日期,月份和年份嗎?如果是這樣,你應該得到+1 – Lolloz89
我沒有測試過,只是很快寫下來,但它不應該關心日期。 NSDate的' - date'方法總是返回當前的日期/時間。對於2個時間字符串,它應該使用當前日期來計算缺失值(日,月,年等)。 –
嗨,我用這個,但我得到空。所以我突出了everyline,並將其轉換爲CST。我獲得time1和time2值的不同時間。 – marciokoko
- 1. javascript將當前時間與每分鐘變量進行比較
- 2. 向datetime添加一個小時,並根據小時和分鐘與當前時間進行比較
- 3. 如何將GDKEvent時間戳與當前時間進行比較?
- 4. 比較小時和分鐘
- 5. Javascript將當前日期與時間戳進行比較
- 6. Codeigniter:將MySql日期時間與當前日期進行比較
- 7. javascript - 將當前時間/日期與範圍進行比較
- 8. 使用日期時間添加小時,然後將此時間與當前時間進行比較
- 9. 將小時,分鐘和秒添加到當前時間
- 10. 將python中的當前時間與xml中的時間進行比較
- 11. PHP - 將數據庫日期時間與當前日期時間進行比較
- 12. 如何將MySQL中的時間與當前時間進行比較php
- 13. 如何將當前時間與PHP中的舊時間進行比較
- 14. mysql - 將當前時間戳與兩個時間範圍進行比較
- 15. 有沒有辦法將當前時間與mysql保存時間進行比較
- 16. 將時間戳與數據庫中的當前時間進行比較
- 17. 如何在PHP中將當前時間與預設時間進行比較?
- 18. 如何將HH:MM中的存儲時間與當前時間進行比較?
- 19. 試圖將日期選擇器時間與當前時間進行比較ios
- 20. 將數據庫中的時間與當前時間進行比較
- 21. 如何比較小時和分鐘?
- 22. 解析創建比較當前時間在幾分鐘內
- 23. 將字符串日期與當前較長時間進行比較
- 24. 將當前時間與固定時間比較05:00:00
- 25. MySql中與時間比較當前時間在使用SQL行
- 26. 時間戳比較刪除當MySQL時間戳>20分鐘
- 27. 比較字符串與當前時間
- 28. PHP比較DateTime與當前時間
- 29. 與當前時間比較SQL
- 30. 將文本文件中的行與當前時間進行比較
dataComps中有一個錯字。感謝你的回答! –