我有一个标签和两个箭头按钮。当我按下左箭头时,我希望显示比这一天少一天的时间。当我按下右箭头时,应该添加一天。标签没有用正确的日期刷新
此刻这是我的代码。
- (IBAction)addDay:(id)sender {
NSDateComponents *dayComponent = [[NSDateComponents alloc] init];
dayComponent.day = 1;
NSCalendar *theCalendar = [NSCalendar currentCalendar];
NSString *dateNow = _lblDate.text;
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE. d MMMM YYYY"];
NSDate *date = [dateFormat dateFromString:dateNow];
date = [theCalendar dateByAddingComponents:dayComponent toDate:date options:0];
NSString *dateString = [dateFormat stringFromDate:date];
_lblDate.text = dateString;
}
- (IBAction)deleteDay:(id)sender {
NSDateComponents *dayComponent = [[NSDateComponents alloc] init];
dayComponent.day = 1;
NSCalendar *theCalendar = [NSCalendar currentCalendar];
NSString *dateNow = _lblDate.text;
// Convert string to date object
NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];
[dateFormat setDateFormat:@"EE. d MMMM YYYY"];
NSDate *date = [dateFormat dateFromString:dateNow];
date = [theCalendar dateByAddingComponents:dayComponent toDate:date options:0];
NSString *dateString = [dateFormat stringFromDate:date];
_lblDate.text = dateString;
}
但由于某些原因或其他的日期是错误的。添加和删除日期时没有任何模式。
任何人都可以帮助我吗?
亲切的问候
你试过NSLogging检查日期形成的正确值? –
确切地说,日期错误? – Hyperbole
转到模块化方法使用这个码 - (的NSString *)shortHandDate { \t如果(shortHandDateFormatter ==无){ \t \t shortHandDateFormatter = [[NSDateFormatter的alloc] INIT]; \t \t [shortHandDateFormatter setDateFormat:@“EE d MMMM yyyy”]; \t} \t return [shortHandDateFormatter stringFromDate:self]; } –