• ベストアンサー

時刻の比較について。

質問です! Perl初心者で昨日から勉強しています。 早速ですが、 あるファイルに2007/09/27 10:19:21と書かれていて、 それを読込み、現在の時刻と比較して、30分以内ならば、 文字色を赤に、30分以上ならば文字色を青にしようと 思っているのですが、比較の方法が分かりません・・・ どなたかご存知の方がおりましたら、よろしくお願い致します。

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

  • ベストアンサー
回答No.2

まずファイルを読み込んで日付と時間をそれぞれバラバラにします。 use Time::Local; $year = 2007; $mon = 9; $mday = 27; $hours = 10; $min = 19; $sec = 21; $time = timelocal($sec, $min, $hours, $mday, $mon - 1, $year); if (time - $time < 30 * 60) { print "30分以内"; } else { print "30分以上"; } こんな感じです。 timelocalは1970年からの経過秒数です。

system0001
質問者

お礼

コーディングできました☆ 本当にありがとうございました!

その他の回答 (1)

  • masaota56
  • ベストアンサー率41% (58/139)
回答No.1

読み込んだ文字列を$strとすると、 $str =~ s/^.+:(..):.+$/$1/; $str -= 0; で「分」が取れます。 詳しくは正規表現で検索してください。

system0001
質問者

お礼

正規表現もこれから勉強していこうと思います! ありがとうございました!

関連するQ&A