/ / ako naplánovať budúcu úlohu v inom časovom pásme v Perle? - perl, datetime, timezone, localtime

ako naplánovať budúcu úlohu v rôznych časových pásmach v Perl? perl, datetime, timezone, localtime

Prešiel som mnohými odpoveďami a nič z tohozdá sa, že riešia môj problém. Chcem spustiť skript Perl z New Yorku a naplánovať úlohu na počítači v inom časovom pásme, napríklad v Los Angeles (alebo v akomkoľvek inom časovom pásme). Používateľ, ktorý skript spustí, bude mať možnosť zadať dátum / čas a časové pásmo.

Príklad:

perl script.pl -action reboot LAHost.com 2014/012/12 15:00:00 "America/Los_Angeles"

Tento skript by mal naplánovať reštart počítača LAHost.com o 15:00 miestneho času v Los Angeles.

Mohol by mi niekto pomôcť nájsť spôsob, ako to urobiť v Perlu pomocou DateTime alebo iných vstavaných funkcií?

Som nový v programovaní a momentálne sa učím Perl. Ospravedlňte moju nevedomosť.

odpovede:

0 pre odpoveď č. 1

Vaša otázka sa zdá byť

Ako môžem previesť dátum a čas v určenom časovom pásme na miestny čas?

use DateTime::Format::Strptime qw( );

my $date = "2014/012/12";
my $time = "15:00:00";
my $tz   = "America/Los_Angeles";

my $format = DateTime::Format::Strptime->new(
pattern   => "%Y/%m/%d %H:%M:%S",
time_zone => $tz,
on_error  => "croak",
);

my $dt = $format->parse_datetime("$date $time");
$dt->set_time_zone("local");

print $format->format_datetime($dt), "n";

0 pre odpoveď č. 2
my $timeZone="Europe/London";
my $dateTime = DateTime->new(year => $year, month => $month,
day => $day, hour => $hour, minute => $minute,
second => $second, time_zone => $timeZone);