J'essaie de convertir une date/heure GMT 0 en GMT -6 en Perl.Comment puis-je convertir des fuseaux horaires en Perl?
Par exemple, une durée de bail DHCP Server est dans le format suivant:
2010/02/18 23:48:37
Je suis en train de convertir ce temps au Localtime zone (GMT -6) mais en ont besoin pour honorer l'heure d'été.
Le script ci-dessous est peut-être trop lourd, mais je ne suis pas sûr de savoir comment procéder à partir de là. (Toutes les suggestions seraient géniales).
my $TIMESTART;
$TIMESTART = "2010/02/18 23:48:37";
$TIMESTART =~ s/\//-/g;
use DateTime;
use DateTime::TimeZone;
use DateTime::Format::MySQL;
my $dt = DateTime::Format::MySQL->parse_datetime($TIMESTART);
my $tz = DateTime::TimeZone->new(name => 'America/Chicago');
print $tz->offset_for_datetime($dt) . "\n";
Il va afficher les lignes suivantes:
2010-02-18T23: 48: 37
-21600
Je dois pouvoir ajouter -21600 à la date pour obtenir le fuseau horaire local de GMT -6 mais je ne suis pas sûr de savoir comment approcher cela.
Autre que l'utilisation au Royaume-Uni, s'il vous plaît utiliser UTC, plutôt que GMT comme heure standard internationale. Certains systèmes supposent que GMT signifie UTC, tandis que d'autres supposent que GMT/BST est utilisé au Royaume-Uni. – mctylr
Je suppose qu'il y a plus d'une façon de le faire. – mob