-1

タイムスタンプに少し問題があります。現在の日付を取得しようとすると

$datestring = date("Y-m-d");

2012-11-14 という正しい日付を取得します。

しかし、この小さなスクリプトで

$timestamp = mktime(0, 0, 0, date("Y"), date("m"), date("d"));
echo $timestamp . "<br />";
echo gmdate("Y-m-d", $timestamp);

最後に 2182-08-10 を取得します。何か案は?

フォローアップの質問

$timestamp = mktime(0, 0, 0, date("m"), date("d"), date("Y"));
echo $timestamp . "<br />";
echo gmdate("Y-m-d", $timestamp);

2012-11-13 になりました。何故ですか?

4

1 に答える 1

3

関数のシグネチャは次のとおりです。

mktime ([ int $hour = date("H") [, int $minute = date("i") [, int $second = date("s") [, int $month = date("n") [, int $day = date("j") [, int $year = date("Y") [, int $is_dst = -1 ]]]]]]] )

年、月、日ではなく、時、分、秒、月、日、年の順です。

ええ、アメリカの慣習(?)。

于 2012-11-14T15:20:10.653 に答える