首先,我从Perl脚本中的数据库中获取SQL格式的TIMESTAMP
,然后使用substr
将TIMESTAMP拆分为五个不同的部分(年,月,日,小时,分钟和秒钟。
TIMESTAMP格式如下:YYYY-MM-DD HH:MM:SS
my $year = substr($TIMESTAMP, 0, 4);
my $month = substr($TIMESTAMP, 5, 2);
my $day = substr($TIMESTAMP, 8, 2);
my $hour = substr($TIMESTAMP, 11, 2);
my $minute = substr($TIMESTAMP, 14, 2);
我想将一天添加到TIMESTAMP ,然后将其发送到具有以下格式的函数:YYYYmmDDHHMMSS
。
非常感谢。
答案 0 :(得分:3)
使用Time::Piece,Time :: Piece首次使用perl v5.9.5发布。
#!/usr/bin/perl
use strict;
use warnings;
use 5.014;
use Time::Piece;
use Time::Seconds;
my $date = '2013-07-14 02:33:10';
my $t = Time::Piece->strptime($date, "%Y-%m-%d %T");
$t += ONE_DAY;
say $t->strftime("%Y%m%d%H%M%S");
打印 20130715023310
答案 1 :(得分:0)
将它们放在一起:
e.g。
sub test {
print ("@_\n");
}
&test("$year$month$day$hour$minute$second");
(您没有谈论$second
,但您的格式需要它)
答案 2 :(得分:0)
您可能还想考虑查看DateTime。您可以使用适当的DateTime::Format::…模块解析SQL时间戳。您可以使用DateTime中的方法添加一天。然后,您可以使用DateTime::Format::…中的相应模块或使用DateTime中的方法的手动格式将其格式化为输出。