Mám dátum, ktorý som získal zo súboru denníka v YYYY-MM-DD HH:MM:SS
Formát.
Mám to v premennej nazvanej $field0
spolu s ďalšími deviatimi premennými $field1
- $field9
.
Použiť Perl Chcem zmeniť formát reťazca na DD-MM-YYYY HH:MM:SS
a vráťte ho späť $field0
Iste musí existovať naozaj jednoduchý spôsob, ako to urobiť?
Môže mi niekto pomôcť alebo mi niekde naznačiť, že som príkladom?
odpovede:
2 pre odpoveď č. 1Existujú dva zjavné prístupy. Prvým je použiť jadro Time::Piece
modul analyzovať reťazec dátumu a času a preformátovať ho a druhým je použiť náhradu regexu, aby sa zhodovali s tromi políčkami dátumu a obrátili sa
Tu sú obidve techniky používané v jednom programe
use strict;
use warnings "all";
use feature "say";
use Time::Piece;
my $time0 = my $time1 = "2016-05-28 12:53:19";
$time0 = Time::Piece->strptime($time0, "%Y-%m-%d %H:%M:%S")->strftime("%d-%m-%Y %H:%M:%S");
say $time0;
$time1 =~ s/^(dddd)-(dd)-(dd)/$3-$2-$1/;
say $time1;
výkon
28-05-2016 12:53:19
28-05-2016 12:53:19