- (void)timeZoneChange
{
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone = [NSTimeZone systemTimeZone];
[dateFormatter setTimeZone:timeZone];
[dateFormatter setDateFormat:@"yyyy-MM-dd"];
NSString *dateString = [dateFormatter stringFromDate:self.birthdate];
NSDateFormatter* estDf = [[NSDateFormatter alloc] init];
NSTimeZone *timeZone2 = [NSTimeZone systemTimeZone];
[estDf setTimeZone:timeZone2];
[estDf setDateFormat:@"yyyy-MM-dd"];
self.timeZoneDate = [estDf dateFromString:dateString];
我的问题:我从用户那里获取 self.birthdate ,然后在他的TimeZone中更改为 dateString 。我需要将更改日期保存到CD作为NSDate,因此我使用SystemTimeZone更改StringToDate并且self.timeZoneDate返回不在systemTimeZone中的UTC日期。
示例 self.birthdate = 27.04.2005然后 self.timeZoneDate = 26.04.2005 22:00:00 +0000。我现在[NSDate日期] = UTC时间,但是有什么把戏吗?我需要 self.timeZoneDate 作为systemTimeZone中的日期