2016-10-25 36 views
0

我有一個對象2 String屬性:notifyFromnotifyTo檢查字符串時間範圍是否爲

他們是這樣的:

notifyFrom14:00

notifyTo18:00

之前,我向用戶發送通知(這是我的應用程序的一部分),我要檢查,如果時間之間那幾個小時,就是要發送通知。

注意事項:日期在這裏無所謂。我只是想檢查時間

什麼是最好的辦法呢?

謝謝!

+0

手段做是否你時間字符串在'notifyfrom'和'notifyto'之間?如果是這樣,那麼約會呢?或日期無關緊要? – Lion

+0

@Lion Date在這裏無所謂。我只想檢查時間 –

+1

從當前日期獲取'hour'組件,並檢查'Range'' notifyFrom ... notifyTo''是否包含該值。但是,如果「To」可以低於「From」,它會變得更加複雜 – vadian

回答

0

您可以編寫方法類似,

+ (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; 
} 

參考:this so post

0

首先將輸入兩個字符串日期要檢查

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [formatter setDateFormat:@"HH:mm:ss"]; 

NSDate *date1 = [dateFormatter dateFromString:notifyFrom]; 
NSDate *date2 = [dateFormatter dateFromString:notifyTo]; 

NSDate *userDate = [NSDate date]; 

if (([userDate laterDate: date1] == userDate) && ([userDate laterDate: date2] == date2)){ 
}