iphone:NSDateFormatter返回错误的格式

时间:2012-01-29 07:50:31

标签: iphone nsdate nsdateformatter

我添加了此代码

NSString *dateString=@"March 29, 2012 12:45 PM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"MMMM dd, yyyy h:mm aaa"];
NSDate *date = [formatter dateFromString:dateString];

但我收到以下输出:

2012-03-29 07:15:00 +0000

我如何获得实际格式?

1 个答案:

答案 0 :(得分:2)

时间显示不正确的原因是因为当您记录NSDate时,它会在您当地的时区显示给您。

如果要将日期格式化程序设置为特定时区,可以使用setTimeZone:方法。我注意到你的个人资料显示你位于印度,如果我没记错的话,印度会使用半小时的时区,这个时区会占据报道时间的7:15,而不是12:45。