雨谷の日和

過去20年で2,700を超えるアニメの第1話だけは見続けた僕のお勧めアニメがハズレなはずがない

人狼BBS作成日記38

今日はSYSIN_TIME についてをまず。
入力した発言については、その書き込みの時間を記録しておくべきだと私は思っています。発言の流れの確認、間隔の確認は、人狼BBSでの一つの醍醐味だと思うからです。
ということで、SYSIN_TIME はその入力時間をTime_Stamp という変数に格納するものです。
以下のように書いています。

sub SYSIN_TIME{
  ($sec, $min, $hour, $mday, $mon, $year, $wday, $yday, $isdst) = localtime(time);
  $Time_Stamp = sprintf("%02d:%02d", $hour, $min);
}

一行目、time 関数で1970年1月1日0時0分0秒からの秒数を取得し、それをlocaltime 関数に渡しています。localtime 関数は受け取った秒数から、年・月・日・時・分・秒などを配列で返してくれます。その結果を、sec、min、hour、mday、mon、year... etc といった変数に格納します。
二行目、hourとminの値を「03:12」というような前ゼロ付の表示フォーマットでTime_stamp に格納しています。sprintf 関数は、書式を整えて文字列を作成するための関数ですね。


今回のスクリプトでは、何をおいてもまずこのSYSIN_TIME を呼んでいます。必要に応じて呼ぶというのでもいいような気はするのですが、後々には時間制限での日付進行処理とかを実装しないといけないので、どうせ最終的には始めに呼ぶことになるとも思ったので、このようにしています。まあ、そのときはこんな単純な処理だけではすまないはずですが。