2012-05-13 14 views
4

日付文字列を "2012-05-03 06:03:00 +0000"からNSDateに変換する方法Iユーザー以下のコードが、それは動作しません:タイムゾーンを含む日付文字列を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

おかげで、より多くの何の 's、どのようにタイムゾーンを追加するには? – itenyh

+0

のように '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]; 
関連する問題