ios – datebyAddingTimeInterval不起作用

ios – datebyAddingTimeInterval不起作用,第1张

概述在某些情况下,我需要在1天内增加一个NSDate.对于它,我使用dateByAddingTimeInterval,但它不起作用. 这是代码: NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];[dateFormat setDateFormat:@"dd/MM/yyyy HH:mm"];NSString *startDate 在某些情况下,我需要在1天内增加一个NSDate.对于它,我使用dateByAddingTimeInterval,但它不起作用.

这是代码:

NSDateFormatter *dateFormat = [[NSDateFormatter alloc] init];[dateFormat setDateFormat:@"dd/MM/yyyy HH:mm"];Nsstring *startDate = [Nsstring stringWithFormat:@"%@/2012 %@",dayString,begin];Nsstring *endStringForDate = [Nsstring stringWithFormat:@"%@/2012 %@",end];NSLog(@"Csantos: event starts: %@,event ends: %@",startDate,endStringForDate);NSDate *beginDate = [dateFormat dateFromString:startDate];NSDate *endDate = [dateFormat dateFromString:endStringForDate];NSComparisonResult result = [beginDate compare:endDate];if(result == NSOrderedDescending){    NSTimeInterval dayinseconds = 24 * 60 * 60;    [endDate dateByAddingTimeInterval:dayinseconds];    NSLog(@"Csantos: event ends: %@",endDate);}

结果:

2012-01-24 12:09:47.837 app[3689:207] Csantos: event starts: 19/02/2012 23:00,event ends: 19/02/2012 03:002012-01-24 12:09:47.837 app[3689:207] Csantos: event ends: 19/02/2012 03:00

我已经尝试过addTimeInterval(不推荐使用,我知道),但它也没有用.怎么了?

问候!

解决方法 [endDate dateByAddingTimeInterval:dayinseconds];返回一个值,该值是函数生成的新日期.日期是不可变对象(如字符串),因此您无法修改它们 – 您只能通过应用函数获得新日期.

如果你写这个,相反,它会工作:

endDate = [endDate dateByAddingTimeInterval:dayinseconds];
总结

以上是内存溢出为你收集整理的ios – datebyAddingTimeInterval不起作用全部内容,希望文章能够帮你解决ios – datebyAddingTimeInterval不起作用所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1007152.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存