strftime而不是输出“7 月 19 日”,我想输出“7 月 19 日”。 DateTime:-6ren">
gpt4 book ai didi

perl - 给定一个 Perl DateTime 对象,我如何输出 "1st, 2nd, 3rd, 4th of the month"

转载 作者:行者123 更新时间:2023-12-01 19:45:26 25 4
gpt4 key购买 nike

我找不到 DateTime::Format::正确输出月份日期的模块。
例如使用 DateTime->strftime而不是输出“7 月 19 日”,我想输出“7 月 19 日”。

DateTime::Format::Natural::Lang::EN像这样解析日期,但我需要相反的 - 一个输出格式化程序。

我不想使用 Date::Calc 或任何其他日期模块(但会考虑非日期模块),也不想自己编写。

供引用:DateTime docs ,其中 strftime patterns似乎不包括“1st, 2nd, 3rd, 4th”等。

最佳答案

也许您可以编写某种自定义格式化程序(然后将其发布到 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

关于perl - 给定一个 Perl DateTime 对象,我如何输出 "1st, 2nd, 3rd, 4th of the month",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24302650/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com