- ベストアンサー
時刻の比較について。
質問です! Perl初心者で昨日から勉強しています。 早速ですが、 あるファイルに2007/09/27 10:19:21と書かれていて、 それを読込み、現在の時刻と比較して、30分以内ならば、 文字色を赤に、30分以上ならば文字色を青にしようと 思っているのですが、比較の方法が分かりません・・・ どなたかご存知の方がおりましたら、よろしくお願い致します。
- みんなの回答 (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年からの経過秒数です。
その他の回答 (1)
- masaota56
- ベストアンサー率41% (58/139)
回答No.1
読み込んだ文字列を$strとすると、 $str =~ s/^.+:(..):.+$/$1/; $str -= 0; で「分」が取れます。 詳しくは正規表現で検索してください。
質問者
お礼
正規表現もこれから勉強していこうと思います! ありがとうございました!
お礼
コーディングできました☆ 本当にありがとうございました!