【发布时间】:2012-09-28 03:14:52
【问题描述】:
我有一些代码接受一个字符串,将其转换为日期,重新格式化,然后将其作为另一个字符串吐出:
[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 中,我希望重新格式化的字符串也位于该时区,但即使在我添加了 setTimeZone: 行之后,重新格式化的字符串也会继续向前转换 4 小时。基本上,我根本不想改变时间,我只想重新格式化它,我不明白我做错了什么?
【问题讨论】:
标签: objective-c ios xcode nsdate nsdateformatter