我有一个包含2 String
个属性的对象:notifyFrom
和notifyTo
。
他们就像:
notifyFrom
:14:00
notifyTo
:18:00
在我向用户发送通知(这是我的应用程序的一部分)之前,我想检查时间是否在这些时间之间,以及是否要发送通知。
注意:日期与此无关。我只想查看时间
最好的方法是什么?
谢谢!
答案 0 :(得分: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
答案 1 :(得分: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)){
}