我找不到正确输出当月日期的DateTime::Format::
模块。
例如使用DateTime->strftime
而不是输出“7月19日”,我想输出“7月19日”。
DateTime::Format::Natural::Lang::EN 解析这样的日期,但我需要相反的 - 输出格式化程序。
我不想使用Date :: Calc或任何其他日期模块(但会考虑非日期模块),我不想自己编写。
供参考:DateTime docs,其中strftime patterns似乎不包括“第1,第2,第3,第4”等。
答案 0 :(得分:3)
也许你可以编写某种自定义格式化程序(然后将其发布到CPAN!)这会让你有一些方法......
package DateTime::Ordinated;
use strict;
use warnings;
use base 'DateTime';
use Lingua::EN::Numbers::Ordinate;
sub day {
my $self = shift;
my $day = $self->SUPER::day;
return ordinate($day);
}
1;
要测试......
$ perl -MDateTime::Ordinated -E'$d=DateTime::Ordinated->now;say $d->day'
19th