【发布时间】:2011-11-28 16:33:42
【问题描述】:
我正在尝试获取时间点,然后进行比较。我已经想出了如何比较它们,但我正在尝试创建 NSDate 对象来代表一天中的时间,这会造成一些麻烦。我使用了NSDateFromComponents 并使用了setHour: 和setMinute: 函数,但它没有成功修改对象。它还需要自动将日期的其他组成部分设置为当前时间和日期。
比较对象:
static bool DateIsBetween(NSDate *beginDate, NSDate *date, NSDate *endDate) {
return [date timeIntervalSince1970] > [beginDate timeIntervalSince1970] && [date timeIntervalSince1970] < [endDate timeIntervalSince1970];
}
创建日期对象:
NSCalendar *calendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
[calendar setTimeZone:[NSTimeZone timeZoneWithName:@"EST"]];
NSDateComponents *weekdayComponents = [calendar components:NSWeekdayCalendarUnit fromDate:todayDate];
NSDateComponents *genericTimeComponents = [[NSDateComponents alloc]init];
[genericTimeComponents setHour:5];
[genericTimeComponents setMinute:0];
[genericTimeComponents setDay:weekdayComponents.day];
[genericTimeComponents setYear:weekdayComponents.year];
[genericTimeComponents setMonth:weekdayComponents.month];
NSDateComponents *secondComps = [[NSDateComponents alloc]init];
[secondComps setHour:7];
[secondComps setMinute:0];
[secondComps setDay:weekdayComponents.day];
[secondComps setYear:weekdayComponents.year];
[secondComps setEra:weekdayComponents.era];
[secondComps setMonth:weekdayComponents.month];
【问题讨论】:
-
在此处粘贴您的代码。这将有助于我们查明问题的根源。
标签: objective-c cocoa date time nsdate