如何更改NSDate格式

时间:2012-03-14 14:02:03

标签: iphone objective-c timezone nsdate date-format

我正在尝试更改目标c中日期的格式。我有以下格式的NSDate ..

2012.03.14 AD at 03:22:13 PDT

此代码工作正常。

 NSDateFormatter* df_utc = [[[NSDateFormatter alloc] init] autorelease];
[df_utc setTimeZone:[NSTimeZone timeZoneWithName:@"PST"]];  
[df_utc setDateFormat:@"yyyy.MM.dd G 'at' HH:mm:ss zzz"];  

我想转换为

03/14/2012 5:12:38 IST这种格式..我试过这样的事情

 NSDateFormatter* df_utc = [[[NSDateFormatter alloc] init] autorelease];
[df_utc setTimeZone:[NSTimeZone timeZoneWithName:@"PST"]];
[df_utc setDateFormat:@"MM/dd/yyyy h:mm:ss z"];
[df_utc stringFromDate:[NSDate date]];

但它正在返回NULL值,任何人都可以帮我弄清楚 在此先感谢

1 个答案:

答案 0 :(得分:2)

因此,在您的实际代码中,您可能不使用[NSDate date]来创建日期,而是使用其他数据?在将它放入格式化程序时,您是否检查过您的日期不是nil?如果您的格式化程序只使用[NSDate date],您是否尝试过?您的zone变量也可能是问题所在。它填写正确吗?

这是您的实际代码吗?如果不是请告诉我们。并且您可以随时使用debuger,逐行检查,如果某些变量是nil或不是您期望的值。