在我的日期选择器中,我可以从列表中选择一个日期。
我将它保存在我的字符串pickUpDateTime
中 self.pickUpDateTime = [NSString stringWithString:[apiFormat stringFromDate:d]];
我遇到的问题是用户可以选择过去的日期。是否有某种方法可以获得当天的日期并在将来检查它?
我的字符串保存着这个2010-11-04的日期。 用户无法选择过去或当天的一天。
由于 -code
答案 0 :(得分:1)
您可以通过以下方式获取当前日期和时间:
NSDate *now = [NSDate date];
将2个日期与:
进行比较if ([d compare:now] == NSOrderedDescending) {
// d is later than now
} else {
// d is earlier than or equal to now
}
答案 1 :(得分:0)
如果您使用的是UIDatePicker
,请设置
datePicker.minimumDate = [NSDate dateWithTimeIntervalSinceNow:24*3600];
e.g。允许明天开始的日期。从日期字符串“2010-11-04”返回到NSDate
对象是可能的,但是很麻烦。 (但如果你坚持,请看NSDateFormatter
)
答案 2 :(得分:0)
上面的许多答案都提供了与NSDates一起工作的良好建议;如果你想要在一天的开始时说一些事情,例如“至少明天”而不是“至少24小时之后”。
一般而言:
我必须冲刺,但相关的方法是:
答案 3 :(得分:0)
NSDateFormatter *df = [[NSDateFormatter alloc] init];
df.dateStyle = NSDateFormatterMediumStyle;
NSString *tempStr=[NSString stringWithFormat:@"%@",[df stringFromDate:datePicker.date]];
txtBirth.text=tempStr;
NSString *birthDate = tempStr;
NSDate *todayDate = [NSDate date];
int time = [todayDate timeIntervalSinceDate:[df dateFromString:birthDate]];
int numberOfDays = time/86400;
听到数据返回数据差异.....