Mam datę, którą wyodrębniłem z pliku dziennika w YYYY-MM-DD HH:MM:SS
format.
Mam go w zmiennej o nazwie $field0
wraz z kolejnymi dziewięcioma zmiennymi $field1
- $field9
.
Używając Perla chcę zmienić format łańcucha na DD-MM-YYYY HH:MM:SS
i włóż z powrotem $field0
Z pewnością musi być naprawdę prosty sposób, aby to zrobić?
Czy ktoś może mi pomóc lub wskazać mi miejsce, które ma przykład?
Odpowiedzi:
2 dla odpowiedzi № 1Istnieją dwa oczywiste podejścia. Pierwszym jest użycie rdzenia Time::Piece
moduł do analizowania łańcucha daty i czasu i ponownego formatowania go, a drugi polega na użyciu podstawienia wyrażeń regularnych w celu dopasowania trzech pól daty i odwrócenia
Oto obie techniki stosowane w jednym programie
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;
wydajność
28-05-2016 12:53:19
28-05-2016 12:53:19