1

変な質問があります...

私のiPhoneで日付/時刻が自動的に設定されている場合、以下に示すように時刻が正しく表示されます...ここに画像の説明を入力

また、日付/時刻が実際のタイム ゾーンとは異なるタイム ゾーンで手動で設定されている場合 (私はインドにいて、ロンドンに設定しています。インドに設定すると問題なく動作します)、方法[self.surveyModel.creationDate dateByAddingTimeInterval:60*60*24*30]と同様に20日間..下の画像を参照してください..

ここに画像の説明を入力

アプリケーションのデフォルトのタイムゾーンまたはローカルタイムゾーンを設定していません。結果を表示するために次の方法を訴えています...

- (NSString *)stringWithFormat:(NSString *)format {
    NSDateFormatter *outputFormatter = [[NSDateFormatter alloc] init];
    [outputFormatter setTimeZone:[NSTimeZone systemTimeZone]];
    [outputFormatter setDateFormat:format];
    NSString *timestamp_str = [outputFormatter stringFromDate:self];
    [outputFormatter release];
    return timestamp_str;
}

私はここで何を間違っていますか...?

4

1 に答える 1

2

注:この回答は、質問に対するコメントへの返信です

このエラーは、サマータイムのある地域 (この場合はイギリスのロンドン) が原因のようです。

日付/時刻が自動的に計算される場合、iOS の DateTime ライブラリは夏時間を考慮します。

このコードを使用して手動で DateTime を処理する場合[self.surveyModel.creationDate dateByAddingTimeInterval:60*60*24*30]

DayLight オプションを有効にせずに DateTime を設定しています。NSTimeZoneしたがって、夏時間オプションを探すとき。

于 2012-10-17T13:14:53.363 に答える