2

UTCから-0700時間遅れているPDT(太平洋夏時間)にいます。私はNSDateFormatter、時間文字列の午後4:00を解析してから、日付を作成するために使用しています。

NSDateFormatter *df = [[NSDateFormatter alloc] init];
NSDate *aDate = [[NSDate alloc] init];
[df setDateFormat:@"h:mm a"];
aDate = [df dateFromString:@"4:00 PM"];

aDate1970-01-0200:00:00+0000として返されます。ただし、4PMは23:00 UTCである必要があるため、1970-01-0123:00:00+0000が返されると思います。

日付フォーマッタのタイムゾーンを確認すると、正しい(PDT)タイムゾーンが返されます。つまり、America / xxx(PDT)オフセット-25200(昼光)

ここで何が起こっているのか誰か知っていますか?助けてくれてありがとう...

4

1 に答える 1

2

日付を指定しないと、PDTではなくPSTになります。次のコマンドで再試行してください。

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"EEE, d LLL yyyy hh:mm a"];
NSDate *aDate = [df dateFromString:@"Sat, 21 Apr 2012 04:00 PM"];
NSLog(@"date=%@", aDate);
于 2012-04-22T00:21:29.807 に答える