perlで教えてください。


以下のスクリプトを書いています。日付をmysqlにinsertしています。perlで以下のようにします。
4月3日の場合$monthには04とはいるはずです。そしてmysqlのdateフィールドにはyear-month-dayをいれるようにしますが、04は4とはいりエラーとなります。どのように対処したらよいのでしょうか?
(my $year, my $month, my $day) = Today();

回答の条件
  • 1人2回まで
  • 登録:2008/04/03 22:54:53
  • 終了:2008/04/07 00:27:36

回答(3件)

id:pahoo No.1

pahoo回答回数5960ベストアンサー獲得回数6332008/04/03 23:56:42

ポイント27pt

「4月3日」は、$month は整数表記で 4、$day は整数表記で 3 が代入されます。

なお、MySQL の「DATE」型に対しては、'2008-04-03' と '2008-4-3' のいずれも insert できるので、別の場所に誤りがあるのではないでしょうか。

どうしても yyyy-mm-dd 形式で insert したいのであれば

sprintf('%04d-%02d-%02d', $year, $month, $day)

の結果を insert してみてください。

id:mizu1007 No.2

mizu1007回答回数51ベストアンサー獲得回数02008/04/03 23:11:17

ポイント27pt

sprintfで整形してみてはいかがでしょうか。

my $input_yyyy_mm_dd = sprintf("%04d-%02d-%02d", $year , $mon, $day);

などで。

id:itss No.3

itss回答回数171ベストアンサー獲得回数12008/04/04 11:26:20

ポイント26pt

Hi,

http://www2u.biglobe.ne.jp/~MAS/perl/waza/

こういうところで小手技を磨いてください。

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません