检查字符串时间范围现在是不是为[重复]
Posted
技术标签:
【中文标题】检查字符串时间范围现在是不是为[重复]【英文标题】:Checking if string time range is now [duplicate]检查字符串时间范围现在是否为[重复] 【发布时间】:2016-10-25 08:20:33 【问题描述】:我有一个具有 2 个 String
属性的对象:notifyFrom
和 notifyTo
。
他们是这样的:
notifyFrom
:14:00
notifyTo
:18:00
在我向用户发送通知(这是我的应用程序的一部分)之前,我想检查时间是否在这些时间之间以及是否要发送通知。
注意:这里的日期无关紧要。我只是想看看时间
最好的方法是什么?
谢谢!
【问题讨论】:
表示你想检查你的时间字符串是否在notifyfrom
和notifyto
之间?如果是这样,那么日期呢?还是日期无关紧要??
@Lion 日期在这里无关紧要。我只是想看看时间
从当前日期获取hour
组件,并检查Range
notifyFrom...notifyTo
contains
是否为值。但是,如果To
可以低于From
,它会变得有点复杂
【参考方案1】:
您可以编写类似的方法,
+ (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
【讨论】:
【参考方案2】:首先将输入的两个字符串转换为日期
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))
【讨论】:
以上是关于检查字符串时间范围现在是不是为[重复]的主要内容,如果未能解决你的问题,请参考以下文章