3

こんにちは私は現在の日時と時間を合計しようとしています、このコードは機能しているようです:

$now = time();
$_day = strtotime('+1day',$now);
$_week = strtotime('+7day',$now);
$_month = strtotime('+1month',$now);
$_year = strtotime('+1year',$now);

私が疑問に思っているのは、他の方法があるかどうか、おそらくこれを行うためのより良い方法があるかどうかです..誰かが私に新しい方法と私が別の構文に目を向けるべき理由を教えてもらえますか?これをできるだけ正確にしたいと思いますので、このスクリプトを反映できれば素晴らしいです!

ありがとう

編集:

明確にするために、UNIXタイムスタンプを使用する必要があります。フォーマットされた日付/日時は必要ありません。

4

3 に答える 3

2

使用している PHP バージョン (PHP 5 >= 5.3.0) でDateTimeクラスとDateIntervalクラスを使用できる場合は、それらを使用できます。

例:

$dateTime=new DateTime();
$plusDay=new DateInterval('P1D');
var_dump($dateTime->add($plusDay));

$dateTime=new DateTime();
$plusWeek=new DateInterval('P1W');
var_dump($dateTime->add($plusWeek));

$dateTime=new DateTime();
$plusMonth=new DateInterval('P1M');
var_dump($dateTime->add($plusMonth));

これがお役に立てば幸いです。

于 2012-12-25T12:11:17.137 に答える
1

これはstrtotime()、PHP で取得するのと同じくらい簡単だと思います。この SO の質問に対する 3 つの回答はすべて、その構文を使用することを選択し、Web で目にするさまざまなチュートリアルのすべてがそれを使用しています。strtotime()他のアプローチよりもはるかに簡単に日付演算について考えることができます。

于 2012-12-25T12:09:49.333 に答える
0

この解決策を試してください:

date("Y-m-d", strtotime("+1 day"));
date("Y-m-d", strtotime("+7 days"));
date("Y-m-d", strtotime("+1 month"));
date("Y-m-d", strtotime("+1 year"));
于 2012-12-25T12:11:19.930 に答える