Pregunta

He NSDate, se muestra a continuación si utilicé NSLog(@"%@", date.description);

2010-12-31 15:00:00 +0000

se mostrará como si usara NSLog(@"%@", [date descriptionWithLocale:[[NSLocale currentLocale] localeIdentifier]]);

Sábado, 01 de enero 2011 12:00:00 AM Hora estándar de Japón

Pero va a ser como la siguiente si utilicé NSLog(@"%@", [date formattedDateString]);

2010-01-01 00:00:00 +0900

¿Dónde hago error?

- (NSString *)formattedDateString {
    return [self formattedStringUsingFormat:@"YYYY-MM-dd HH:mm:ss ZZZ"];
}

- (NSString *)formattedStringUsingFormat:(NSString *)dateFormat {
    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    [formatter setDateFormat:dateFormat];
    NSString *ret = [formatter stringFromDate:self];
    [formatter release];
    return ret;
}
¿Fue útil?

Solución

Tengo lo que necesito como a continuación:

- (NSString *) formattedDateString {
retorno [libre formattedStringUsingFormat: @ "aaaa-MM-dd HH: mm: ss ZZZ"];
}

Otros consejos

tiene una subclase de NSDate, ¿verdad? Mi única conjetura es que usted ha hecho un error en alguna parte del código de anulación, tal vez la hora de establecer los componentes de tiempo de la fecha (por así decirlo) de modo que la cadena de descripción o de sus datos de origen no se ha actualizado correctamente.

Edit: Oh, lo tienes trabajo, muy bien. Un par de segundos demasiado tarde. :) Saludos!

Tanto 2010-01-01 00:00:00 +900 y 2010-12-31 15:00:00 +000 punto al mismo tiempo.

Editar :
Tanto 2011-01-01 00:00:00 +900 y 2010-12-31 15:00:00 +000 apuntan al mismo tiempo.

Haz que viva en GMT + 9 (digamos Tokio)?

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top