简单的格式化日期

编程入门 行业动态 更新时间:2024-10-20 05:34:19
本文介绍了简单的格式化日期的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我写了一个perl脚本来获取datetime。 它做的工作,但我想知道是否有任何更简单的方式格式化日期作为输出。

#!/ usr / bin / perl 使用DateTime; 我的$ dt = DateTime-> now(time_zone =>'local'); $ myTimeStamp = $ dt-> subtract(days => 1); $ myYear = $ myTimeStamp-> year; $ myMonth = $ myTimeStamp-> month; if(length($ myMonth)== 1){ $ myMonth =0 $ myMonth; } $ myDay = $ myTimeStamp-> day; if(length($ myDay)== 1){ $ myDay =0 $ myDay; } $ myHour = $ myTimeStamp->小时; if(length($ myHour)== 1){ $ myHour =0 $ myHour; } #$ myDir =/ var / tmp / logs / $ myYear / $ myMonth / $ myYear $ myMonth-; print - > $ myYear $ myMonth $ myDay $ myHour\\\; # - > 2012 02 28 02 exit 0;

解决方案

日期时间为此提供 format_cldr 方法:

使用DateTime; my $ myTimeStamp = DateTime-> now-> subtract(days => 1); printf - >%s\\\,$ myTimeStamp-> format_cldr('yyyy MM dd HH'); # - > 2012 02 28 02

I wrote a perl script to get datetime. It do work but I do wonder if there any easier way to format date as output.

#!/usr/bin/perl use DateTime; my $dt = DateTime->now( time_zone => 'local' ); $myTimeStamp = $dt->subtract( days => 1 ); $myYear = $myTimeStamp->year; $myMonth = $myTimeStamp->month; if ( length( $myMonth ) == 1 ) { $myMonth = "0$myMonth"; } $myDay = $myTimeStamp->day; if ( length( $myDay ) == 1 ) { $myDay = "0$myDay"; } $myHour = $myTimeStamp->hour; if ( length( $myHour ) == 1 ) { $myHour = "0$myHour"; } #$myDir = "/var/tmp/logs/$myYear/$myMonth/$myYear$myMonth-"; print "--> $myYear $myMonth $myDay $myHour\n"; # --> 2012 02 28 02 exit 0;

解决方案

DateTime provides the format_cldr method for this:

use DateTime; my $myTimeStamp = DateTime->now->subtract( days => 1 ); printf "--> %s\n", $myTimeStamp->format_cldr('yyyy MM dd HH'); # --> 2012 02 28 02

更多推荐

简单的格式化日期

本文发布于:2023-10-25 08:31:32,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1526455.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:日期   简单

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!