0

毎年9月1日の日付を設定するphpを設定しようとしています。私は CRON を使用して、日付が 9 月 7 日になるたびに、php が実際にその 9 月 7 日 (9 月) の 1 週間前の日付の行のデータベースを更新すると述べています。

以下のコードは 10 月 28 日にテストしたもので、エコー$selectedDateすると問題なく出力2012-10-28されます。しかし、日付を 9 月 1 日に変更すると、`2011-12-01明らかに正しくない出力が出力されます。次の 9 月の日付は 2013 年になるため、`2013-09-01 を出力する必要があります。その後、2013 年に 9 月の最初の日付が過ぎた後、年は 2014 などに変更されます。

正しい日付を出力するにはどうすればよいですか?

以下はコードです:

$createDate = mktime(0,0,0,09,01,date("Y"));
$selectedDate =  date('Y-m-d', ($createDate));
4

1 に答える 1

3

これは、 が無効な8 進数 909として解釈されるためです。

9の代わりに渡すと、期待どおりに機能します09

$createDate = mktime(0,0,0,9,1,date("Y"));
//                         ^ ^  No preceeding 0s.
$selectedDate =  date('Y-m-d', ($createDate));

var_dump($createDate, $selectedDate);
于 2012-10-28T10:47:45.263 に答える