如何使用DateTime获取当月的最后一天?

ave*_*lon 2 perl datetime

我的任务是计算当月的最后一天.

有一种方法last_day_of_month日期时间.你可以这样称呼它:

$av_tmp_TODAY = DateTime->last_day_of_month({year=>2016,month=>05});
Run Code Online (Sandbox Code Playgroud)

但我不想设定固定的年份和月份,我只想采取今天的日期并获得该月的最后一天.

另外,我希望我的输出格式%Y-%m-%d.

eba*_*les 8

您使用构造函数now(),然后使用输出方法ymd('-')和所需的分隔符.如果未指定,则-默认为.

#!/usr/bin/env perl

use strict;
use warnings;
use feature qw{say};
use DateTime;

my $dt = DateTime->now();
say DateTime->last_day_of_month( year => $dt->year, month => $dt->month )->ymd('-');
Run Code Online (Sandbox Code Playgroud)