Estoy tratando de obtener la fecha actual con la adición de la zona horaria del dispositivo, pero se muestra 1 h tarde esa fecha original. Creo que tengo problemas con DaylightSavingTime. Cómo deshabilitar isDaylightSavingTime = FALSE.Cómo obtener NSDate actual para el simulador Fecha? iPhone Sdk
Este es el código, he utilizado ..
NSDate *date = [NSDate Date];
NSTimeZone *currentTimeZon = [NSTimeZone localTimeZone];
if ([currentTimeZon isDaylightSavingTime])
{
NSLog(@"East coast is NOT on DT");
}
else
{
NSLog(@"East coast is on DT");
}
NSTimeInterval timeZoneOffset = [currentTimeZon secondsFromGMTForDate:currentDate];
NSTimeInterval gmtTimeInterval = [date timeIntervalSinceReferenceDate] - timeZoneOffset;
NSDate *gmtDate = [NSDate dateWithTimeIntervalSinceReferenceDate:gmtTimeInterval];
NSLog(@"### Announcement gmtDate = %@",gmtDate);
Me estoy haciendo tiempo con diferencia 1 hora, la fecha es perfact.
Solo hay un NSDate para cada momento (no importa dónde se encuentre). Si desea imprimir la fecha en una zona horaria diferente, use NSDateFormatter. –
Ya, pero quiero una función genérica que cambie automáticamente de acuerdo con el cambio de zona horaria. hay un problema cuando isDaylightSavingTime = FALSE. entonces quiero establecer isDaylightSavingTime = TRUE pero no puedo hacer eso – Sujal