私は奇妙な状況で戦っています。同じコードが2つの異なるプロジェクトで異なって機能します。1つのプロジェクトは、このコードを使用した空のコマンドラインユーティリティです。2番目のプロジェクトは、リンクされたgdata-objectivec-clientライブラリを使用しています。
コードは次のとおりです。
static NSString * const dateFormat = @"MM/dd/yyyy HH:mm:ss Z";
NSString *tmp_string = @"03/08/2011 10:07:36 +0300";
NSDateFormatter *dateFormatter = [[[NSDateFormatter alloc] init] autorelease] ;
[dateFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease]];
[dateFormatter setDateStyle:NSDateFormatterMediumStyle];
[dateFormatter setDateFormat: dateFormat ];
NSDate *newDate = [dateFormatter dateFromString: tmp_string];
NSLog(@"dateFromThatString: %@", newDate);
コマンドラインユーティリティだけで結果は同じです
「2011年3月8日10:07:36+0300」
。
ただし、gdata-objectivec-clientがリンクされているプロジェクトでは、結果は次のように変更されます。
"2011年3月8日07:07:36+0000"
何が問題なのかわからない、何か提案はありますか?