0

我正在尝试将 NSDate 转换为本地时区。我正在这样做

dateTimeFormatter = [[NSDateFormatter alloc] init];
[dateTimeFormatter setTimeZone:[NSTimeZone localTimeZone]];
[dateTimeFormatter setDateFormat:@"MMM d', 'yyyy', 'h':'mm a zzz"];

日期看起来像这样2013-10-05 11:00:00 +0000。我得到的时间是下午 04:30,应该是凌晨 4:30。无论如何让它工作?

NSString *str = [dateTimeFormatter stringFromDate:myDate];
4

2 回答 2

0

尝试这个..

[dateTimeFormatter setDateFormat:@"MMM dd', 'yyyy', 'hh':'mm a zzz"];
于 2013-09-20T05:24:37.197 回答
0

试一试Apple的这个答案,它应该会启发这个话题:关于日期格式化程序
正如maddy所说你不需要设置时区,默认的时区是从iOS的常规设置中选择的,以进行正确的转换。

NSDateFormatter *formatter = [[NSDateFormatter alloc] init];    
formatter.dateFormat = @"MMM d', 'yyyy', 'h':'mm a zzz";
formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
于 2013-09-20T05:47:13.137 回答