2012-02-25 46 views
1

我想下面的字符串轉換爲一個NSDate對象:NSDate的假設錯誤的時區

NSString *[email protected]"25 May 2012 10:25:00"; 

NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease]; 
[dateFormatter setDateFormat:@"d MMM yyyy HH:mm:ss"]; 
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithName:@"asia/kolkata"]]; 
NSDate *date = [dateFormatter dateFromString:str]; 


In console : date-->2012-05-25 04:55:00 +0000....it lags behind 5 hours and 30 minutes and assumes GMT timezone instead of Asia...Why it is so? 

回答

4

當你看到一個[NSDate的描述]打印在控制檯,它總是在格林尼治標準時間對應的時間。如果使用相同的日期格式化程序將日期轉換回字符串,則應該在指定的時區中。

的[NSDate的描述]是你所看到的,如果你鍵入

po date 

po [date description] 

,或者你使用的NSLog發送這些形式到控制檯的任何一個。

+0

是......真的......! – addy 2012-02-25 07:49:08

-1

,如果你正在尋找印度時區,你應該使用: enter image description here