次のスニペットは私のプロジェクトにあります:
/*
//forget it
$ts = 1319990400;
$y = date("Y",$ts);
$m = date("m", $ts);
var_dump(date("Y-m-d", strtotime("$y-$m")));
*/
date("Y-m-d", strtotime("2013-1"));
戻る
"2013-01-10"
この投稿では、デフォルトの日は月の 1 日であると書かれています。しかし、出力が2011-10-10であることがわかりました!! スニペットをクリーンな PHP スクリプトに移動すると、2011-10-01 が正常に出力されます。
デフォルトの日を設定するのはstrtotimeに関するいくつかのオプションだと思いますか? 私も今日は10日だと思いますが、関係ありますか?
更新:「$y-$m-01」のような完全な日付形式を追加するだけで問題を解決できることはわかっていますが、なぜそれが起こるのか知りたいですか?
更新:それはとても奇妙です。date("Ymd", strtotime("2013-1")) と書くだけで、「2013-01-10」が返されます
update : 回答を更新します。:)