2012-03-14 253 views
0

我想改变目标c中日期的格式。我有以下格式的NSDate ..如何更改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

什么是不工作?你可以调用'[df_utc stringFromDate:[NSDate date]]' – MrTJ 2012-03-14 14:07:08

+0

hi @MrTJ,我编辑了我的问题。 – 2012-03-14 14:30:11

+0

我们可以看到更多的这段代码是在哪里?我假定你将返回的字符串存储在一个变量中。 – 2012-03-14 14:36:42

回答

2

因此在您的实际代码中,您可能不使用[NSDate date]来创建日期,但另一个数据?当你把它放入格式化器时,你有没有检查过,你的日期不是nil?如果你的格式化程序只与[NSDate date]一起工作,你有没有试过?您的zone变量也可能是问题。它填写正确吗?

这是你的实际代码?如果不是,请告诉我们。你可以使用debuger,一行一行地检查,如果一些变量是nil或者不是你想要的值。

+0

我编辑我的问题 – 2012-03-14 15:29:40

+0

我的第一个虽然是该区域也是无效的,如果这甚至不适用于[NSDate日期]。 – lnafziger 2012-03-14 15:31:23