我有一些代码需要一个字符串,将其转换为日期,重新格式化,然后将其作为另一个字符串吐出:
[formatter setDateFormat:@"YYYY'-'MM'-'DD','HH:mm:ss','ZZZ"];
[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"America/New_York"]];
NSDate *date = [formatter dateFromString:combinedString];
[formatter setDateStyle:NSDateFormatterLongStyle];
NSString *finishedString = [formatter stringFromDate:date];
基本上,除了时区外,它工作正常。所有输入字符串都在时区 -0400 中,我希望重新格式化的字符串也处于该时区,但重新格式化的字符串会继续向前转换 4 小时,即使在我添加了该setTimeZone:
行之后也是如此。基本上,我根本不想改变时间,我只想重新格式化它,我不明白我做错了什么?