gpt4 book ai didi

iphone - 来自 NSString 的 NSDate,如 HH :mm

转载 作者:行者123 更新时间:2023-11-28 23:02:52 24 4
gpt4 key购买 nike

我有一个字符串——时间、开始、结束:格式为“hh:mm”

例如,“21:00”。我需要比较 - “时间”介于开始和结束之间如果 End < Start,例如 ("21:10""10:00") 应视为:从'开始'到第二天'结束'。

我无法将像@"23:00"这样的 NSSTring 转换为 NSDate,然后我需要比较... :(

感谢您的建议;)

最佳答案

您可以将 HH:mm 类型的字符串转换为 NSDate。如果 endDate 小于 startDate,则向其添加一天。

NSString *dateString = @"23:00";
NSString *startString = @"21:00";
NSString *endString = @"10:00";

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
formatter.dateFormat = @"HH:mm";

NSDate *date = [formatter dateFromString:dateString];
NSDate *startDate = [formatter dateFromString:startString];
NSDate *endDate = [formatter dateFromString:endString];
if ([endDate compare:startDate] == NSOrderedAscending) {
endDate = [endDate dateByAddingTimeInterval:24*3600];
}

if ([startDate compare:date] == NSOrderedAscending && [date compare:endDate] == NSOrderedAscending) {
NSLog(@"Date %@ is in the interval [%@, %@]", dateString, startString, endString);
} else {
NSLog(@"Date %@ is not in the interval [%@, %@]", dateString, startString, endString);
}

附言。我假设这里使用的是 ARC。

关于iphone - 来自 NSString 的 NSDate,如 HH :mm,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9761547/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com