现在检查字符串时间范围

时间:2016-10-25 08:20:34

标签: ios objective-c iphone swift cocoa-touch

我有一个包含2 String个属性的对象:notifyFromnotifyTo

他们就像:

notifyFrom14:00

notifyTo18:00

在我向用户发送通知(这是我的应用程序的一部分)之前,我想检查时间是否在这些时间之间,以及是否要发送通知。

注意:日期与此无关。我只想查看时间

最好的方法是什么?

谢谢!

2 个答案:

答案 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)){
}