• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:漢字交じり文字列からのlocaltimeの求め方)

漢字交じり文字列からのlocaltimeの求め方

このQ&Aのポイント
  • perlのCIGを改造してエラーチェック機能をつける方法を教えてください
  • フォームから送られてくる文字列から数字部分だけ抜き出してlocaltimeに変換する方法を教えてください
  • timelocalの式に代入するとinternal server errorになってしまう問題を解決する方法を教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • Ethersky
  • ベストアンサー率71% (168/235)
回答No.1

Unix Time を求めたいわけですね。 ということはlocaltimeは使えません。 Time:Localモジュールを使用することで簡単に求められます。 なお、localtimeで日時を求めたときは月を+1、年を+1900する必要がありますが、逆にUnix Timeを求めたい時はその逆をしてから代入しなければなりません。 $time = '2004年5月16日登録'; use Time::Local; $time =~ /^(\d{4})年(\d{1,2})月(\d{1,2})日.*$/; $unixtime = &timelocal(0,0,0,$3,$2-1,$1-1900); これで変数unixtimeにUnix Timeが入ります。 なお、ここでは時と分と秒はどれも0として(0時0分0秒)います。

MORGEN
質問者

お礼

早々のお返事をどうもありがとうございました! おかげさまでうまく行きました!! 「え?うそ!」と言ってしまったくらいです。もっと大変な事になるんだと思っていました。 $time = ̄ /^(\d{4})年(\d{1,2})月(\d{1,2})日.*$/; という分割の仕方も初めて知り、大変参考になりました。 この度はどうもありがとうございました!!