0

NSDateから時間と分の情報だけにアクセスしようとしています。

そこで、NSCalendarを使用してそれを行いました。以下は私のコードです:

     NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"hh:mm"];
    NSDate *date = [NSDate date];
    NSCalendar *calendar = [NSCalendar currentCalendar];
    NSDateComponents *components = [calendar components:(kCFCalendarUnitHour | kCFCalendarUnitMinute) fromDate:date];
    NSInteger hour = [components hour];
    NSInteger minute = [components minute];
    NSLog(@"%@",date description);
    NSLog(@"Hour : %d MInutes: %d",hour,minute);

それは私に正しい情報を与えません。以下はログです:

2011-10-18 18:46:12.194 DateTest [1182:707] 2011-10-18 13:16:12 +0000 2011-10-18 18:46:12.198 DateTest [1182:707]時間:18分:46

もう1つの疑問は、時刻が18:46:12.194の場合、13:16:12としてログに記録されることです。なぜこの違いがあるのですか?

4

1 に答える 1

2

GMTより5.5時間進んだタイムゾーンに住んでいるため、NSDate-descriptionメソッドは常にGMタイムゾーンでフォーマットされた文字列を返します。

于 2011-10-18T13:29:01.680 に答える