PHP]PHPのmktime()関数を使ったカスタマイズで躓いたので情報展開しておきます。動作確認したPHPのバージョンは5.2.13です。次のコードは、指定した日付のエポック秒(1970年1月1日0時0分0秒から、指定した時刻までの通算秒)を取得し、それを年月日時分秒に変換して表示する簡単なサンプルです。01:23.45となり、指定したタイムスタンプよりも8ヶ月前になってしまいます。2.原因と対処PHPでは、整数に「0」を付与すると8進数として扱われ、「08」は「0」として扱われることが原因です。指定した値「08月」をmktimeで評価すると「0月」となり、さらに「0月」は前年の12月として評価されるため、1項に記した動作となります。月の「08」を1桁の「8」に変更することで、この問題は解消します。H:i.s',$date);?>この事象は、月に「08」と「09」を設定した場合に発生します。/>);ということを行ったためです。この場合、「%m」を「%B」にすることで解消します。/>);2010.09.02をかもとさんからのコメントを受けて、2項を修正しました。小粋空間419usersトラックバックURLこのエントリーのトラックバックURL:コメントこの事象は、月に「08」と「09」を設定した場合に発生するようです。PHPでは、0で始まる文字列は八進数として処理されます。等として確認してみてください。mktime(01,23,45,08,01,2010)は、mktime(1,23,45,0,1,2010)として評価されてしまい、2010年0月1日→2009年12月1日が返ってくるのです。AM>をかもとさんこんにちは。情報ありがとうございました。頂いた内容は本文に追記しておきたいと思います。*必須(非表示)URL(U):情報を保存する?コメントへの返信ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。すべてのご質問にはお答えできない可能性があります。Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。情報ありがとうございました。