2016-10-25 4 views
0

У меня есть объект с 2 String объектов: notifyFrom и notifyTo.Проверка, существует ли диапазон времени строки

Они подобны:

notifyFrom: 14:00

notifyTo: 18:00

и прежде чем отправить пользователю уведомление (это часть моего приложения) Я хочу, чтобы проверить, если время между те часы и просто, если он отправит уведомление.

Примечание: Дата здесь не имеет значения. Я просто хочу проверить время

Каков наилучший способ сделать это?

Спасибо!

+0

средство сделать вы хотите, чтобы проверить, является ли ваш строка времени находится между 'notifyfrom' и' notifyto' ?? Если это так, то что насчет даты ??? или дата не имеет значения? – Lion

+0

@ Lion Дата здесь не имеет значения. Я просто хочу проверить время –

+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)){ 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^