これ何て呼びますか Part2

日時を取得して、表示する際に「2010/3/16」を、→「2010/03/16」
のように数字が1桁の時だけ「0」を足して表示させたいのですが
どのようにすれば良いでしょうか。
-------------------------------------
($sec,$min,$hour,$day,$mon,$yea,$wdy,$yday,$isdst) = localtime(time);
$year = $yea + 1900;
$mon++;

$nitiji= join("","$year/$mon/$day"," ","$hour",":","$min");
-------------------------------------
上記の方法で、perlで書き出したhtmlに「$nitiji」を埋め込んで表示させているのですが
「0」をつけることができず困っております。
(システム上、そのようにしたいので)

できれば「print(・・・」「「printf(・・・」」などの形式ではなく
「$nitiji」に直接その数値を入れられると良いのですが。
良い方法がありましたら宜しくお願いします。

A 回答 (4件)

($sec,$min,$hour,$day,$mon,$yea,$wdy,$yday,$isdst) = localtime(time);


$nitiji = sprintf("%04d/%02d/%02d %02d:%02d", $year + 1900, $mon +1, $mday,$hour,$min);
「1桁の日付に0を付ける」の回答画像3
    • good
    • 0
この回答へのお礼

画像まで添付して頂いてありがとうございます。
この方法で問題解決できました!ありがとうございました。
また何かありましたら宜しくお願いします。

お礼日時:2010/03/16 20:11

一部訂正


$nitiji = sprintf("%04d/%02d/%02d %02d:%02d",
$year + 1900, $mon +1, $day,$hour,$min);
    • good
    • 1

strftimeを使うのが簡便でいいと思います。



日付の書式指定
http://www2u.biglobe.ne.jp/~MAS/perl/waza/strfti …

use POSIX qw(strftime);

my $nitiji = strftime "%Y/%m/%d %H:%M", localtime;
print $nitiji;
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
参考にさせて頂きました。
また何かありましたら宜しくお願いします。

お礼日時:2010/03/16 20:12

$nitiji= sprintf( "%d/%02d/%02d %d:%d", $year, $mon, $day, $hour, $min);



これでどうでしょうか。
    • good
    • 0
この回答へのお礼

回答ありがとうございました。
参考にさせて頂きました。
また何かありましたら宜しくお願いします。

お礼日時:2010/03/16 20:12

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報