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' –