Chcę tylko przekonwertować daty z formatu 20111230
na 30-dec-2011
.Jak zmienić formaty dat w Perlu?
Odpowiedz
Jednym ze sposobów jest użycie Date::Simple:
use warnings;
use strict;
use Date::Simple qw(d8);
my $d = d8('20111230');
print $d->format('%d-%b-%Y'), "\n";
__END__
30-Dec-2011
Oto inne rozwiązanie. Wykorzystuje DateTimeX::Easy
:
#!/usr/bin/env perl
use strict;
use warnings;
use DateTimeX::Easy;
my $dt = DateTimeX::Easy->parse('20111230');
print lc $dt->strftime('%d-%b-%G');
Jeśli nie można użyć jednego z modułów data, POSIX nie jest tak źle, a chodzi o perl
:
use v5.10;
use POSIX qw(strftime);
my $date = '19700101';
my @times;
@times[5,4,3] = $date =~ m/\A(\d{4})(\d{2})(\d{2})\z/;
$times[5] -= 1900;
$times[4] -= 1;
# strftime(fmt, sec, min, hour, mday, mon, year, wday = -1, yday = -1, isdst = -1)
say strftime('%d-%b-%Y', @times);
Making @times
jest nieco brzydki. Nie zawsze możesz dostać to, czego chcesz, ale jeśli spróbujesz czasami, może się okazać, że dostaniesz to, czego potrzebujesz.
Zgodnie z TMTOWTDI, można użyć Time::Piece
#!/usr/bin/env perl
use strict;
use warnings;
use Time::Piece;
my $t = Time::Piece->strptime("20111230", "%Y%m%d");
print $t->strftime("%d-%b-%Y\n");
Czas :: Kawałek jest również dostarczany z Perłem, począwszy od wersji 5.10. –
szybkie rozwiązanie.
my $date = '20111230';
my @months = (
'Jan','Feb','Mar','Apr',
'May','Jun','Jul','Aug','Sep',
'Oct','Nov','Dec'
);
if($date =~ m/^(\d{4})(\d{2})(\d{2})$/){
print $3 . '-' . $months[$2-1] . '-' . $1;
}
Ten nie wymaga pakietów, które nie znajdują się w podstawowej instalacji PERL i działa. – boatcoder
- 1. Korzystanie Python i regex wyodrębnić różne formaty dat
- 2. Jak zmienić format daty selektora zakresu dat?
- 3. Jaki jest najlepszy sposób porównywania dat w Perlu?
- 4. Jak zmienić strefę czasową wartości datetime w Perlu?
- 5. formaty komórek w phpexcel
- 6. Jak utworzyć względne/przybliżone daty w Perlu?
- 7. Wymagane formaty Django
- 8. Pisanie makro w Perlu
- 9. before_filter i respond_to formaty
- 10. DateTime.TryParseExact() odrzuca prawidłowe formaty
- 11. mediaelement.js Obsługiwane formaty
- 12. Formaty obsługiwane przez BitmapFactory.decodeByteArray (...)
- 13. Jak połączyć zmienne w Perlu?
- 14. Jak formatować daty w Perlu?
- 15. Jak tworzyć obiekty w Perlu?
- 16. Jak zatrzymać wejście w Perlu?
- 17. Jak serializować zamknięcie w Perlu?
- 18. Jak zwolnić pamięć w Perlu?
- 19. Niestandardowe formaty w Ruby on Rails
- 20. Obliczanie różnicy dat W Postgresql
- 21. Konwersja dat w AWK
- 22. Formaty plików obsługiwane przez UIWebView
- 23. Porównywanie dat w ciecz
- 24. Literały dat w Hibernate
- 25. Rails i18n formaty walidacji błąd specyficzny
- 26. Zakresy dat w Pandach
- 27. Lista dat w tekście
- 28. Jak wykreślić wykres z szeregów czasowych w Perlu?
- 29. Obsługiwane formaty plików audio w przeglądarce Chrome?
- 30. Jakie formaty wideo będą odtwarzane w emulatorze?
+1 dla POSIX i cytowanie kamieni. – TLP