2011-08-09 26 views
0

我不知道爲什麼,當我用不同的時區使用它,在這裏我GMT setDateFormat不起作用:「setDateFormat」不適用於GMT?

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT"]]; 

[dateFormatter setDateFormat:@"dd-MM-YYYY"]; //this doesn't work, nothing appears 
//[dateFormatter setDateStyle:NSDateFormatterMediumStyle]; //this works 

但如果我使用默認的時區,它的工作原理:

NSDateFormatter *Dateformat = [[NSDateFormatter alloc]init]; 
[Dateformat setDateFormat:@"dd-MM-YYYY HH:mm:ss"]; //this works 

謝謝您的幫助

保羅

回答

0

您是否嘗試過使用此dateFormatter到NSLog的字符串,其me..when沃金我做一個字符串AS-

NSString *dateStr = [dateFormatter stringFromDate:[NSDate date]]; 

NSLog(@"%@",dateStr); 

及其給我這個 -

09-08-2011 
+0

感謝,是的,我有一個NSLog的測試,但它更多的是在「setDateFormat」(安娜·卡列尼娜的評論):在我的例子:代碼的第二塊工作正常,它的時區默認情況下,但如果我使用不同的時區,如「GMT」:setDateFormat不起作用:NSLog不顯示日期格式... – Paul

+0

編輯:哎呀抱歉,我犯了一個錯誤,其實我把另一種格式之後在代碼中,我沒有看到我改變了兩次格式。無論如何,感謝您的幫助 – Paul

0

Additionaly,你或許應該使用:[dateFormatter setDateFormat:@ 「DD-MM-YYYY」]而不是[dateFormatter setDateFormat:@ 「DD-MM-YYYY」。 根據蘋果文檔,使用YYYY是一個常見的錯誤。它返回本週所在年份的年份數(根據ISO周編號方案)。這可以關閉一年。小寫字母yyyy通常是正確的版本。 見:iphone Get current year as string

相關問題