年の最初から数えて何週目か。年の最初の日曜日を週の最初として数える。最初の日曜日の週が01。年の最初から数えて何週目か。少なくとも4日を持つ週を年の最初の週とする。月曜日を週の最初として数える。年の最初の月曜日を週の最初として数える。最初の月曜日の週が01。%日本語を扱うときの注意Time::Pieceのstrftimeメソッドは、入力がバイト文字列であっても、内部文字列であっても、常にバイト文字列を返却することに注意しましょう。$tp->strftime("%Y年%m月");日付・時刻を表現する文字列を解析する日付や時刻の表現を解析してTime::Pieceオブジェクトを作成することができます。日付や時刻の解析するにはstrptimeメソッドを使用します。フォーマット);サンプルとしてMySQLの日付の表現を解析してTime::Pieceオブジェクトを作成してみます。フォーマットには上記のstrftimeのフォーマットを使用します。%H:%M:%S');ローカライゼーションデフォルトの状態では月の名前や週の名前は英語です。日本語の週名を取得したい場合は週名を取得するメソッドに曜日名の配列を渡します。$t->wdayname(@week_names);日付・時刻情報の計算Timpe::Pieceオブジェクトの引き算Time::Pieceでは日付や時刻の計算を行うこともできます。Time::Pieceオブジェクトどうしの引き算を行った場合は、戻り値はTime::Secondsオブジェクトになります。このオブジェクトは文字列として評価した場合は秒数になります。$t1;またTime::Socondsオブジェクトを日や年に変換することもできます。30日$sec->financial_months;日や年への変換は次の規則によってなされます。1日は24時間と換算されます。1週間は7日と換算されます。1年は365.24225日と換算されます。1年は12ヶ月と換算されます。Time::Pieceオブジェクトの足し算Time::Pieceオブジェクトどうしの足し算はすることができません。Timpe::Pieceオブジェクトには秒数あるいはかTime::Secondsオブジェクトを足すことができます。Time::Seconds->new(300);またTime::SecondsにはTime::Pieceオブジェクトに足すことのできる定数も用意されています。ONE_DAYONE_WEEKONE_HOURONE_MINUTEONE_MONTHONE_YEARONE_FINANCIAL_MONTHLEAP_YEARNON_LEAP_YEAR5日を足すには次のようにします。これらの定数を利用するにはTime::Secondsモジュールを読み込んでおく必要があります。日付の比較に比較演算子を使用することができます。"!="が使用できます。任意の日付・時刻でTime::Pieceオブジェクトを生成するにはドキュメントを読む限りではstrptimeメソッドを使用するしかないようです。%H:%M:%S');(ソースコードを読むとparseメソッドというものがあるのですが試してみたところ壊れているみたい...。ドキュメントには無いので非公開のようですし。)今日の日付をあらわすオブジェクトを取得するTime::Pieceモジュールを使用して、今日を表すオブジェクトを取得するには次のようにします。$today;}なぜこれほど複雑なのかといえば、Time::Pieceモジュールはstrptime以外の方法で直接、日付や時間の項目を設定する仕組みを持っていないことと、strptimeはUTCを返すので、自力でローカルタイム化を行う必要があるからです。今月の最初の日を表すTime::Pieceオブジェクトを取得するTime::Pieceを使って、今月の最初の月を取得するには、以下のようなロジックを書きます。'%Y-%m-%d');これは少しややこしいですね。Time::Pieceを使って日付や時間をごにょごにょするためには、少しコツがいります。最初に今日を表すTime::Pieceオブジェクトを取得します。localtime;次に今日の年と月の情報をstrftimeを使って「2012-09」のようなフォーマットで取得します。$today_tp->strftime('%Y-%m');最後に「2012-09-01」のような日付のフォーマットを持つ文字列をstrptimeで解析して、今日を表すTime::Pieceオブジェクトを取得します。'%Y-%m-%d');strptimeはロケール情報を持たないので、localtime関数を使ってローカルタイム化しています。Perlのモジュールについての解説です。ユーザー環境にPerlをインストールする月別アーカイブはてなブログをはじめよう!perlcodesampleさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。