perl - formatting DateTime output

前端 未结 3 1462
北荒
北荒 2021-01-05 02:13

How do I convert my return using DateTime from:

This is my date:2011-11-26T20:11:06 to This is my date:20111126

Using this existin

3条回答
  •  抹茶落季
    2021-01-05 02:47

    ymd is the simplest:

    print "This is my date: ", $dt3->ymd(''), "\n";
    

    strftime is more general purpose:

    print "This is my date: ", $dt3->strftime('%Y%m%d'), "\n";
    

    There are also specific (e.g. DateTime::Format::Atom) and general (e.g. DateTime::Format::Strptime) formatting helper tools you can use:

    use DateTime::Format::Strptime qw( );
    my $format = DateTime::Format::Strptime->new( pattern => '%Y%m%d' );
    print "This is my date: ", $format->format_datetime($dt3), "\n";
    

    PS — Your code will give the date in or near England, not the date where you are located. For that, you want

    my $dt3 = DateTime->now(time_zone => 'local');
    

    or the more appropriate

    my $dt3 = DateTime->today(time_zone => 'local');
    

提交回复
热议问题