Perl入門ゼミスマートフォン用の表示で見るPerl入門ゼミこの広告は、90日以上更新していないブログに表示しています。日付・時刻を扱う新しい方法Perl›モジュール›herePerlの5.10からTime::Pieceと呼ばれる時刻を便利に扱うためのモジュールが標準モジュールに加わりました。Perlの5.10以上を使用している場合はTime::Pieceモジュールを日付と時刻を扱いたい場合に利用すると便利です。従来のPerlでは日付や時刻を直感的に扱う手段が標準モジュールにはありませんでした。日付や時刻を扱うためには少し面倒な作業が必要でした。Time::Pieceは日付と時刻の直感的な操作を提供します。日付・時刻の書式化の機能や解析する機能も備えます。Perlには実質的に日付を扱うモジュールのスタンダードといえるDateTimeというモジュールがあります。このモジュールは標準モジュールではなくCPANからインストールする必要があります。巨大なモジュールですのでモジュールを読み込む時間が非常にかかります。mod_perlなどメモリ上にモジュールを展開しておくことのできる環境以外では実行速度に少し不満がでるかもしれません。Time::Pieceはある程度の機能を備えた高速・軽量なモジュールだと考えてください。日付・時刻に関する一般的な情報は、以下を参考にしてください。Perlで日付・時刻を扱う時刻・日付の情報の取得Time::Pieceモジュールは次のように使用します。useをするとTime::Pieceモジュールはコアのlocaltimeとgmtimeを上書きます。$t->sec;localtimeを呼び出すとTime::Pieceオブジェクトを取得することができこれから日付や時刻の情報を取得することができます。標準関数のlocaltimeで時刻情報を取得した場合を比較のために記しておきます。1900;Time::Pieceのlocaltimeを使用したほうが直感的に日付や時刻の情報を扱うことができます。Time::Pieceで取得できる情報一覧Time::Pieceで取得できる情報の一覧です。日付の判定Time::Pieceを使用すればうるう年かどうかの判定と月末日かどうかの判定を行うことができます。月末日の取得(28-31の数値を返す)$t->month_last_day日付・時刻を書式化する日付・時刻を書式化して出力したい場合があります。Time::Pieceでは決まった書式がいくつか用意されています。strftimeメソッドを使用すれば自由に書式化することができます。[A]デフォルトで用意されているフォーマットデフォルトで用意されているフォーマットは以下になります。$t->cdateと同じ[B]フォーマットのカスタマイズフォーマットを自由にカスタマイズしたい場合はstrftimeメソッドを使用します。$formatには時刻の表現を指定します。$t->strftime($format)日付と時刻をフォーマット化したサンプルです。12:14:15strftimeで使用できるフォーマットの一覧です。