gpt4 book ai didi

perl - 用德语创建月份缩写 - Perl

转载 作者:行者123 更新时间:2023-12-05 08:16:52 36 4
gpt4 key购买 nike

我想要特定格式的 perl 中的昨天日期。

我的脚本:

use DateTime qw( );
use Date::Parse;
use Date::Language;

my $lang = Date::Language->new('German');

my $yday_date =
DateTime
->now( time_zone => 'local' )
->set_time_zone('floating')
->truncate( to => 'day' )
->subtract( days => 1 )
->strftime('%b%d');

print $lang ->time2str($yday_date)

我得到的:

12月08日

我需要什么

Dez08

有人知道问题出在哪里吗?任何答案表示赞赏!

最佳答案

您正在调用 Date::Languagetime2str 带有文字字符串,而不是带有格式字符串加上自 1970 年以来以秒为单位的时间。

但您根本不需要 Date::Language,DateTime可以自行处理本地化。

试试这个:

use strict;
use warnings;
use DateTime;

my $yday_date =
DateTime
->now( time_zone => 'local', locale => 'de' )
->set_time_zone('floating')
->truncate( to => 'day' )
->subtract( days => 1 )
->strftime('%b%d');

print $yday_date;

编辑:如果您需要像 Dez08 这样的字符串而不是 Dez.08,我不会再添加其他模块,但只需删除 . 即可解决。像这样的东西:

$yday_date =~ s/\.//;

关于perl - 用德语创建月份缩写 - Perl,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65217736/

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