我如何在Perl中以MM / DD / YYYY格式获取日期。我正在使用perl 5.8

问题描述 投票:0回答:2

[嗨,我正在尝试将日期存储在变量$ date中。然后,我将使用Excel :: Writer :: XLSX将日期打印到单元格中。我正在使用perl 5.8。我知道很多用于获取日期的模块(例如TimePiece)已安装在更高版本的perl中。

perl
2个回答
3
投票

您正确地认为,自Perl 5.10起,Time::Piece仅是核心。但是您可以从CPAN安装它。然后,您可以使用其strftime方法:

use strict;
use warnings;
use Time::Piece;
my $date = localtime->strftime('%m/%d/%Y');

没有它,您可以使用内置的localtime函数,该函数还具有更好的包装器Time::localtime(即使在5.8中也是如此)。您只需要小心,因为POSIX本地时间返回的值并不完全符合您的期望。

use strict;
use warnings;
use Time::localtime;
my $now = localtime;
my $date = sprintf '%02d/%02d/%04d', $now->mon + 1, $now->mday, $now->year + 1900;

0
投票
use POSIX qw( strftime );

strftime('%m/%d/%Y', localtime)
© www.soinside.com 2019 - 2024. All rights reserved.