Domanda

Sto cercando di accedere solo le ore ei minuti informazioni da un NSDate.

Così ho usato NSCalendar di farlo. Qui di seguito è il mio codice:

     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);

Non mi dà le giuste informazioni. Qui di seguito è il log:

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] ore: 18 minuti: 46

Un altro dubbio è quando il tempo è 18: 46: 12,194 che viene registrato come 13:16:12. Perché questa differenza?

È stato utile?

Soluzione

Perché si vive in un fuso orario che è di 5,5 ore davanti a GMT, e il metodo di NSDate -description restituisce sempre una stringa formattata nel fuso orario GM.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top