入力した日付を取得してフォーマットし、データベースに保存する簡単なスクリプトがあります。次のようにstrftime関数を使用していました。
$pdate = strftime('Y-m-d', strtotime($_POST['post_date']));
何らかの理由で、これは突然「Ymd」を返し始めました。はい、最初の引数として渡したフォーマット文字列を返していました。日付情報は一切ありません。また、2番目の引数としてストレートアップのUnicodeタイムスタンプを渡してこれを実行しようとしましたが、それでもフォーマット文字列が返されました。数日前までは問題なく動作していました。これで、代わりにdate()関数を使用するように切り替えました。
$pdate = date('Y-m-d', strtotime($_POST['post_date']));
これですべてが正常に機能します。strftime()関数が突然機能しなくなった理由を誰かが知っているかどうか疑問に思っています。それは本当に奇妙に思えます、そしてそれは一日中私を悩ませることになるでしょう。