現地時間として 21:00 を持つ NSDate オブジェクトを取得しようとしています - 何日かは気にしません。私はこの非常に奇妙な結果に頭を悩ませています:
NSCalendar *calendar = [[NSCalendar alloc]initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *components = [[NSDateComponents alloc] init];
[components setHour:21];
[components setMinute:0];
[components setSecond:0];
NSDate *date = [calendar dateFromComponents:components];
NSLog(@"%@", date);
結果は0001-01-02 04:52:58 +0000
理由がわかりません。現在の時刻は 17:34 PST ですが、結果は現地時間と変わりません。
setMinute と setSecond の行を調整すると
[components setMinute:7];
[components setSecond:2];
これ0001-01-02 05:00:00 +0000
は正しいです (21:00 PST)。