1

「2012-07-03 07:26:48」のような Web サービスから日付を取得します。Web サービスから解析した後、NSString に保存しました。コードの下で使用されるNSStringをNSDateに変換しながら、

    NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init];
    [dateFormatter1 setDateFormat:@"yyyy-MM-dd hh:mm:ss"];

    NSString *dateStr = @"2012-07-03 07:26:48";
    NSDate *date = [dateFormatter1 dateFromString:dateStr];
    NSLog(@"Date : %@", date);
   The NSLog value is "2012-07-03 01:56:48 +0000";

NSLog 値は「2012-07-03 01:56:48 +0000」です。なぜ時間が変わったのかわかりません。誰でも私がこれを行うのを手伝ってもらえますか?

4

3 に答える 3

2

タイムゾーンを次のように配置する必要があります。

theDateFormatter.timeZone = [NSTimeZone timeZoneForSecondsFromGMT:0];

GMT時間形式を考慮しているためです。

于 2012-07-09T14:11:39.350 に答える
1

のタイムゾーンを設定する必要がありNSDateFormatterます。

于 2012-07-09T14:11:32.033 に答える
0

デフォルトでは、文字列を nsdate に変換している間、日付は utc 形式で保存されます...日付から元の時刻を文字列として取得できます..タイムゾーンを変更したい場合は、dateformatter を使用して変更してください..それ以外の場合は変更しないでください

于 2013-09-12T07:07:35.243 に答える