2012-05-13 89 views
4

如何將日期字符串「2012-05-03 06:03:00 +0000」轉換爲NSDate。我的用戶下面的代碼,但它不工作:如何將帶時區的日期字符串轉換爲NSDate

NSDateFormatter *datFormatter = [[NSDateFormatter alloc] init]; 
[datFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"]; 
NSDate* date = [datFormatter dateFromString:dateStr]; 

回答

9
NSString *dateStr = @"2012-05-03 06:03:00 +0000"; 
    NSDateFormatter *datFormatter = [[NSDateFormatter alloc] init]; 
    [datFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"]; 
    NSDate* date = [datFormatter dateFromString:dateStr]; 
    NSLog(@"date: %@", [datFormatter stringFromDate:date]); 

此代碼打印date: 2012-05-03 09:03:00 +0300

它的工作原理。也不要忘記設置你的目標

+0

謝謝,什麼'多,怎麼加時區? – itenyh

+0

like that'datFormatter.timeZone = [NSTimeZone localTimeZone];' – Eugene

0

可以做這樣的日期格式的時區: -

NSDateFormatter *datFormat = [[NSDateFormatter alloc] init]; 
[datFormat setTimeZone:[NSTimeZone timeZoneWithName:@"Yout TimeZone"]]; 
[datFormat setDateFormat:@"yyyy-MM-dd HH:mm:ss Z"]; 
NSString *string = @"2012-05-03 06:03:00 +0000"; 
NSDate* date = [datFormat dateFromString:string]; 
相關問題