-1

首先,我TIMESTAMP在 Perl 脚本中从数据库中获取 SQL 格式,然后我使用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.

非常感谢。

4

3 回答 3

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

于 2013-07-14T16:03:42.943 回答
0

您可能还想考虑看看DateTime您可以使用适当的DateTime::Format::…</a> 模块解析您的 SQL 时间戳。您可以使用DateTime中的方法添加一天然后,您可以使用DateTime::Format::…</a>中的适当模块或使用 DateTime 中的方法将其格式化为输出

于 2013-07-15T05:22:25.617 回答
0

把它们合二为一:

例如

sub test {
  print ("@_\n");
}

&test("$year$month$day$hour$minute$second");

(您没有谈论$second,但您的格式需要它)

于 2013-07-14T13:01:18.173 回答