0

単純な

     NSDateFormatter *df  = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"dd/MM/yyyy"];
     NSLog(@"Current date in event %@ %@",currentDate,[df stringFromDate:currentDate]);

でもログには

    Current date in event 2013-10-01 22:00:00 +0000 02/10/2013

なんで?

4

1 に答える 1

3

ログを記録するNSDateと、常に UTC 時間で出力されます。stringFromDate:日付フォーマッタのタイムゾーンを変更しない限り、使用すると現地時間で日付が取得されます。

この場合、UTC の 2 時間前のタイムゾーンにいます (イタリアにいると仮定します)。

オブジェクトは 2013 年 10 月 1 日 22:00 UTC であるためNSDate、これは UTC+2 で 2013 年 10 月 2 日の午前 0 時と同じです。これが、10 月 2 日の文字列が表示される理由です。

ここに別の見方があります。1 日の違いは見られません。タイムゾーンが原因で、実際には 2 時間の違いが見られます。午前 0 時から午前 2 時までは、1 日の違いのように見えます。

于 2013-10-01T17:33:53.543 に答える