我想动态增加3秒的时间。
即“ 20-05-2014 3-08-58”是我选择的日期。现在我想添加3秒的时间,例如新日期是“ 20-05-2014 3-09-01”。为此,我使用了以下逻辑,但无法正常工作。NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; [formatter setDateFormat:@"dd-MM-yy HH:mm:ss"];NSDate *date = [formatter dateFromString:strDateTime]NSDate *newDate = [NSDate dateWithTimeInterval:3.0 sinceDate:date];
使用上述逻辑,我得到了诸如“ 20-05-2014 07-29-01”的newDate无效。
那么如何解决这个无效的时间问题。
提前致谢..!
最佳答案
您在DateFormatter中有几个错误:
请参阅更正后的解决方案:
NSString *strDateTime = @"20-05-2014 3-08-58";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd-MM-yyyy HH-mm-ss"];
NSDate *date = [formatter dateFromString:strDateTime];
NSDate *newDate = [NSDate dateWithTimeInterval:3 sinceDate:date];
NSLog(@"cur:%@, next:%@",date, newDate);
输出:
cur:2014-05-19 21:38:58 +0000,next:2014-05-19 21:39:01 +0000
编辑:
由于您期望格式为+3秒的日期,因此您需要再次将NSDate值转换为NSString。
NSString *dateAfter3Sec = [formatter stringFromDate:newDate];
NSLog(@"%@",dateAfter3Sec);
它会给你
20-05-2014 03-09-01
关于ios - 在 objective-c 中的选定日期中使用dateWithTimeInterval添加3秒后获得无效时间,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23756382/