我试图知道当周的当天+和小时是否在2个其他工作日+小时之间。
假设现在是“星期二16:26”,并且有一个以“星期二16:00”和“星期二22:00”开头的间隔,所以它应该返回YES。
我从前面的字符串创建日期,这个函数告诉我它是否在间隔中。 此函数是类的一部分,其属性“fechaInicio”和“fechaFin”分别是开始日期和结束日期。
- (BOOL)dateInInterval:(NSDate *)testDate {
// date1 is the instance variable containing the starting date
// date2 is the instance variable containing the ending date
NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en"] autorelease]];
[dateFormatter setDateFormat:@"EEEE HH:mm"];
NSString *dateString = [dateFormatter stringFromDate:self.fechaInicio];
NSLog(@"La fecha es: %@", dateString);
dateString = [dateFormatter stringFromDate:self.fechaFin];
NSLog(@"La fecha es: %@", dateString);
NSLog(@"time interval nicio: %d", [testDate timeIntervalSinceDate:self.fechaInicio]);
NSLog(@"time interval fin: %d", [testDate timeIntervalSinceDate:self.fechaFin]);
return ([testDate timeIntervalSinceDate:self.fechaInicio] > 0 &&
[testDate timeIntervalSinceDate:self.fechaFin] < 0);
}
事情是,永远不会返回YES,即使我可以看到日期在间隔中。我害怕我如何把字符串转到日期。我输入“星期二16:00”是哪一年,什么月份,如果我将实际日期格式化为“EEEE HH”,它会保存月份和年份吗?
由于
答案 0 :(得分:0)
对于您的情况,我建议找到星期一的固定已知日期并应用每个EEEE HH:mm字符串的完整日期。这将在日期内给出正确的值,我认为你的逻辑将开始工作