Estoy leyendo con Perl registros desde archivos cuyo primer campo es una fecha en formato: "yyyymmddHHMMssZ"
La fecha en cuestión es UTC y debo llevarla a hora local de acuerdo a la zona horaria que es un parámetro del programita.
Había pensado hacer algo así antes de comenzar a revisar:
Using perl Syntax Highlighting
($seconds, $minutes, $hours_local, $day_of_month, $month, $year, $wday, $yday, $isdst) = localtime;
($seconds, $minutes, $hours_utc, $day_of_month, $month, $year, $wday, $yday, $isdst) = gmtime;
print "offset == ", $hours_local - $hours_utc, "\n";
($seconds, $minutes, $hours_utc, $day_of_month, $month, $year, $wday, $yday, $isdst) = gmtime;
print "offset == ", $hours_local - $hours_utc, "\n";
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
Una vez con el offset podría leer cada registro y sumar el offset al campo fecha y tenerla en tiempo local. Sin embargo, creo que tiene errores básicos que no sé cómo solucionar:
1. ¿Será siempre el offset igual al localtime - UTC?
2. ¿Qué pasa si el offset es de horas y fracción? ¿funcionará?
3. ¿Existe alguna función que tome directamente la fecha UTC en formato yyyymmddHHMMssZ y la transforme en hora local (dándole la zona horaria como parámetro, por supuesto)?
Muchas gracias.