Tôi chỉ muốn chuyển đổi các ngày từ định dạng 20111230
thành 30-dec-2011
.Làm cách nào để thay đổi định dạng ngày trong Perl?
Trả lời
Một cách là sử dụng 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
Đây là một giải pháp khác. Nó sử dụng 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');
Nếu tôi không thể sử dụng một trong các module ngày, POSIX không phải là quá xấu và nó đi kèm với 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);
Làm @times
là một chút xấu xí. Bạn không thể luôn luôn có được những gì bạn muốn, nhưng nếu bạn thử đôi khi, bạn có thể tìm thấy bạn có được những gì bạn cần.
Để phù hợp với TMTOWTDI, bạn có thể sử dụng 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");
Time :: Piece cũng đi kèm với Perl, bắt đầu với v5.10. –
Một giải pháp nhanh chóng.
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;
}
Điều này không yêu cầu các gói không có trong cài đặt PERL cơ bản và nó hoạt động. – boatcoder
- 1. Làm cách nào để định dạng ngày trong Perl?
- 2. Định dạng ngày Perl/regex chuyển đổi
- 3. Làm thế nào để thay đổi định dạng ngày tháng trong bảng chọn ngày
- 4. Làm cách nào để thay đổi định dạng ngày trong Java?
- 5. Làm cách nào để thay đổi định dạng ngày tháng trong Android?
- 6. thay đổi định dạng ngày MySql
- 7. Làm thế nào để thay đổi định dạng mẫu Django ngày mặc định?
- 8. Làm thế nào để thay đổi ngôn ngữ và định dạng ngày trong SQL Server?
- 9. Thay đổi định dạng ngày tháng trong chuỗi android
- 10. Thay đổi định dạng ngày ngắn trong Ubuntu
- 11. Làm thế nào để thay đổi định dạng ngày trong điều khiển Silverlight DatePicker?
- 12. Làm thế nào để thay đổi định dạng ngày tháng sử dụng matplolib trong python
- 13. Làm cách nào để định dạng Ngày trong Flash?
- 14. Python: Làm cách nào để định dạng ngày trong Jinja2?
- 15. Làm cách nào để định dạng ngày đăng trong Wordpress?
- 16. Làm cách nào để định dạng ngày trong VisualForce?
- 17. Làm cách nào để đặt cột sắp xếp mặc định trong lưới extjs4 và thay đổi định dạng ngày?
- 18. Thay đổi định dạng ngày trong ứng dụng ASP.NET MVC
- 19. Thay đổi định dạng ngày tháng trong R
- 20. Làm cách nào để định dạng ngày tháng có định dạng dd/mm/yy trong javascript?
- 21. Thay đổi kể từ ngày và định dạng giờ để định dạng số
- 22. Làm thế nào để thay đổi định dạng mặc định trong StringToDate? Spring WebFlow
- 23. Visual Studio thay đổi ngày & giờ định dạng
- 24. Thay đổi định dạng ngày giờ trên trục mschart
- 25. Làm cách nào để định dạng ngày đến từ MongoDB?
- 26. cách tốt nhất để thay đổi định dạng ngày trong SELECT mysql?
- 27. Làm cách nào để phân tích ngày và chuyển đổi múi giờ trong Perl?
- 28. Làm cách nào để chuyển đổi định dạng gói 'Nc *' của Perl thành struct.pack cho Python?
- 29. Làm thế nào để có được ngày hiện tại ở định dạng ISO bằng Perl?
- 30. Làm cách nào để định dạng ngày với Dart?
+1 cho POSIX và trích dẫn đá. – TLP