我有一个以YYYY-MM-DD HH:MM:SS
格式从日志文件中提取的日期。
我在一个名为$field0
的变量中加上另外九个变量$field1
- $field9
。
使用Perl我想将字符串的格式更改为DD-MM-YYYY HH:MM:SS
并将其重新放回$field0
当然必须有一种非常简单的方法吗?
任何人都可以请求帮助,或者指出某个有例子的地方吗?
答案 0 :(得分:2)
有两种明显的方法。第一种是使用核心Time::Piece
模块来解析日期时间字符串并重新格式化它,第二种是使用正则表达式替换来匹配三个日期字段并将它们反转
以下是单个程序中使用的两种技术
MEDIA_ROOT
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/^(\d\d\d\d)-(\d\d)-(\d\d)/$3-$2-$1/;
say $time1;