0
我有字符串格式的日期,即UTC时区。 我想添加20分钟的日期。向UTC日期添加20分钟
我使用下面的代码为:
NSString *strFinal = @"2016-11-21 13:07:04";
//NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
//[dateFormatter setDateFormat:@"yyyy-mm-dd hh:mm:ss"];
self.dateFormatter = [[NSDateFormatter alloc]init];
[self.dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm:ss"];
NSDate *dateFromString = [[NSDate alloc] init];
[self.dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
dateFromString = [self.dateFormatter dateFromString:strFinal];
self.dt = [[NSDate alloc]init];
self.dt = dateFromString;
NSTimeInterval secondsInEightHours = 20 * 60;
//NSDate *dateEightHoursAhead = [dateFromString dateByAddingTimeInterval:secondsInEightHours];
NSDate *dateEightHoursAhead = [self.dt dateByAddingTimeInterval:secondsInEightHours];
//after adding 20 mins check
NSString *strFinaltoPass = [self.dateFormatter stringFromDate:dateEightHoursAhead];
但随着这个日期时间它给strFinaltoPass为空。
这工作正常与时间少于12小时,但在12小时后显示为空。
任何帮助将不胜感激。
感谢,
什么是'dateEightHoursAhead'当字符串回来'nil'? – user1118321
dateEightHoursAhead是2016-10-20 00:20:00 +0000当回到零 – puja
尝试使用'NSDateComponents'并将20分钟添加到'minutes'属性,您将需要添加逻辑来增加hours属性if分钟高于60 ...然后将其转换回'NSDate' –