【发布时间】:2011-09-14 16:01:21
【问题描述】:
例如,我如何在目标 C 中进行比较,以查看某个时间和日期时间段是否与另一个已经在 plist 中的时间段重叠?
这最常用于预订/预订应用程序,以查看该特定时间段是否已被占用等。
【问题讨论】:
标签: objective-c xcode date time
例如,我如何在目标 C 中进行比较,以查看某个时间和日期时间段是否与另一个已经在 plist 中的时间段重叠?
这最常用于预订/预订应用程序,以查看该特定时间段是否已被占用等。
【问题讨论】:
标签: objective-c xcode date time
试试这个比较..
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"MM/dd/yyyy hh:mm:ss aa"];
NSDate *dateOne=[dateFormat dateFromString:@"01/09/2011 11:12:10 AM" ];
NSDate *dateTwo = [NSDate date];
switch ([dateOne compare:dateTwo]){
case NSOrderedAscending:
//NSLog(@"NSOrderedAscending");
break;
case NSOrderedSame:
//NSLog(@"NSOrderedSame");
{
break;
case NSOrderedDescending:
//NSLog(@"NSOrderedDescending");
break;
}
[dateFormat release];
【讨论】:
假设您将日期存储为 NSDate,只需使用以下代码:
[myDate timeIntervalSinceNow];
返回一个 NSTimeInterval,它只是一个浮点数,以秒为单位表示时间间隔。如果为负数,则表示您正在比较的时间是以前的。
如果您的日期作为NSString 存储在plist 中,您必须先将其转换为NSDate,为此使用NSDateFormatter。
NSDateFormatter * formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; //Change this to your date format
NSDate * date = [formatter dateFromString:yourString];
[formatter release];
【讨论】: