NSDate和NSTimeZone错误的日期

时间:2016-05-16 17:34:17

标签: ios objective-c nsdate nstimezone

- (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中的日期

0 个答案:

没有答案