我想动态增加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/

10-12 00:15
查看更多