WEB相談室

Webページ作成に関しての何でも掲示板です。

タイトル:PerlにてSYSTEMコマンドの値を取り込む

0:[投稿] だっくすふんど [2003/03/04 21:35 ][環境:IE5 UNIX,Apache,CGI,perl ]

Perlにて前日の日付をyyyymmdd形式で取りたいのですが、
うまくいかなくて困っています。

例えば2003年3月3日ならば
20030303 という値を取得したいのですができないです〜(;;)

$date = system("date \-v \-1d '\+%Y\%m\%d'");

どなたかお助けください。


1:[回答] ひじ [2003/03/04 22:14 ]

$date = `date -v -1d '+%Y%m%d'`;
でも、この場合は
localtime(time - 24*60*60);
の方が早い。


2:[質問] だっくすふんど [2003/03/04 22:42 ]

ひじさんご回答ありがとうございます。

ただ、localtime(time - 24*60*60)のリストだと

20030303ではなく200333 になってしまいます・・・
これをどうにか加工するのですか?


3:[回答] ひじ [2003/03/04 22:55 ]

($y, $m, $d) = (localtime(time - 24*60*60))[5,4,3];
$date = sprintf("%d%02d%02d", $y+1900, $m+1, $d);
print "$date\n";


4:[回答] Iwa [URL] [2003/03/04 23:07 ]

@date = (localtime(time - 24*60*60))[3,4,5];
$result = sprintf("%02d",$date[2] + 1900) . sprintf("%02d",$date[1]) . sprintf("%02d",$date[0]);

でよかったと思います。


5:[回答] Iwa [URL] [2003/03/04 23:08 ]

あ、書き途中に電話してたから・・・。


6:[完了] だっくすふんど [2003/03/05 12:56 ]

ひじさん、Iwaさんありがとうございました〜。

おかげさまで、希望のフォーマットで日付を取得することができました。

回答(必須): 状態:

お名前(必須):

e-mail:

URL:




[戻る]

ChaichanPAPA's World