生成 Perl 日期时间?

标签 perl datetime

我有一个 perl 脚本,它获取系统日期并将该日期写入文件名。

系统日期被分配给 TRH1 变量,然后它被设置为一个文件名。

$TRH1 =`date + %Y%m%d%H%M`;
print "TRH1 => $TRH1\n";
open(TPFILE, ">./log/errTS_TPList_$TRH1.csv"); 

然而,TRH1 似乎有正确的值,但文件名有一个问号,这是我不希望的。

TRH1 => 202103031940
errTS_TPList_202103031940?.csv

你能告诉我如何摆脱这个“?” ?

最佳答案

因为你 already been shown ,这是因为 date 的输出在末尾有一个换行符,您需要使用 chomp() 将其删除。

但是,实际上没有必要使用外部程序来获取日期和时间。现代版本的 Perl 带有 Time::Piece这使得这变得微不足道:

use Time::Piece;

# Perl style generally reserves uppercase variable names
# for constants
my $trh1 = localtime->strftime("%Y%m%d%H%M");

对于旧版本的 Perl,您可以使用 POSIX 中的 strftime() :

use POSIX 'strftime';

my $trh1 = strftime("%Y%m%d%H%M", localtime);

关于生成 Perl 日期时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66470227/

相关文章:

php - Symfony crud 法令 : Could not load type "datetime"

sql - 如何在 SQL 准备语句中转义单引号和双引号?

Perl 将值插入多维数组

python - 如何使用python从csv中的同一列拆分日期和时间?

c# - 将字符串转换为任何格式的日期时间

php - 时间超过30秒错误?文件获取内容

python - 如何为每 15 分钟的间隔标记 Pandas 日期时间行(在新列中)?

perl - 使用 perl 单线器的 Csh 别名在创建别名时评估,而不是在使用别名时评估

perl - 我可以从 Perl 捕获 shell 调用吗?

arrays - Perl - Data::Dumper 数组 - 从 0 开始索引