0

これは私を殺している。

今から 2 日後の日付を単純に出力する小さな関数を作成しようとしています。次のコードを (PHP エミュレーターで) 使用して、動作させようとしています。

echo date('d/m/Y', mktime(0, 0, 0, date("d")+2, date("m"), date("Y")));

私が得る出力は03/07/2014、明らかに間違った日付です(私は得ると期待しています03/17/2014)。

私を殺しているのは、私がしようとするときです

echo date("Y");

正しい出力が得られます2013

私のコードを台無しにしている日付関数内で何が起こっていますか?

4

2 に答える 2

4

後方へのdayおよびmonthパラメータがあります。mktime()

int 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 ]]]]]] )

だから、あなたは探しています:

echo date('d/m/Y', mktime(0, 0, 0, date("m"), date("d") + 2, date("Y")));
于 2013-03-17T21:06:05.197 に答える
4

これを行う簡単な方法があります。DateTimemktime()を使用すると、やよりも簡単に日付を操作できdate()ます。

$now = new DateTime();
$now->modify('+2 days');
$two_days = $now->format('m/d/Y');

実際に見る

于 2013-03-17T21:06:34.953 に答える