-2

私は現在の日付を取得しようとしています:

NSLog(@"DATE NOW : %@", [NSDate date]);

しかし、実行すると、表示された日付と現在の日付の間に1時間の差があります。

ログhttp://data.imagup.com/12/1171458807.5637png

そのような質問に関するトピックを見つけましたが、どれも答えをくれませんでした。どうすれば変更できますか?

4

1 に答える 1

3

適切なタイムゾーンを設定する必要があります。ご覧のとおり、デフォルトはUTCです。

これを行うには、日付フォーマッターを使用できます。

NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
NSTimeZone * timezone = [NSTimeZone timeZoneWithName:@"Europe/Rome"];
[dateFormatter setTimeZone:timezone];
[dateFormatter setTimeStyle:NSDateFormatterFullStyle
 ];
[dateFormatter setDateStyle:NSDateFormatterFullStyle];    


NSLog(@"%@", [dateFormatter stringFromDate:[NSDate date]]);

使用できるタイムゾーンのリストについては、

NSArray *timeZoneNames = [NSTimeZone knownTimeZoneNames];

または、このRailsのドキュメントページで定数を確認してください。

于 2012-12-29T15:05:42.697 に答える