私は現在、次のように現在の日付/時刻を返すphpを持っています:
$now = date("Y-m-d H:m:s");
私がやりたいのは、24 から 800 までの時間数であるequal$new_time
という新しい変数を用意することです。$now + $hours
$hours
助言がありますか?
関数のようなものを使用strtotime()
して、現在のタイムスタンプに何かを追加できます。$new_time = date("Y-m-d H:i:s", strtotime('+5 hours'))
.
関数で変数が必要な場合は、 のようstrtotime("+{$hours} hours")
に二重引用符を使用する必要がありますが、使用する方が適切ですstrtotime(sprintf("+%d hours", $hours))
。
もう 1 つの解決策 (オブジェクト指向) は、DateTime::add を使用することです。
例:
<?php
$now = new DateTime(); //now
echo $now->format('Y-m-d H:i:s'); // 2021-09-11 01:01:55
$hours = 36; // hours amount (integer) you want to add
$modified = (clone $now)->add(new DateInterval("PT{$hours}H")); // use clone to avoid modification of $now object
echo "\n". $modified->format('Y-m-d H:i:s'); // 2021-09-12 13:01:55
strtotime()を使用 してこれを実現できます。
$new_time = date("Y-m-d H:i:s", strtotime('+3 hours', $now)); // $now + 3 hours
正しい
strtotime() を使用してこれを実現できます。
$new_time = date("Y-m-d H:i:s", strtotime('+3 hours', strtotime($now))); // $now + 3 hours
UNIX スタイルの時間を使用して計算することもできます。
$newtime = time() + ($hours * 60 * 60); // hours; 60 mins; 60secs
echo 'Now: '. date('Y-m-d') ."\n";
echo 'Next Week: '. date('Y-m-d', $newtime) ."\n";
ええと... あなたの分を修正する必要があります... 'i' は分です。数ヶ月ではありません。:) (私も同じ問題を抱えていました。
$now = date("Y-m-d H:i:s");
$new_time = date("Y-m-d H:i:s", strtotime('+3 hours', $now)); // $now + 3 hours
特定の DateTime に対して、日、時間、分などを追加できます。いくつかの例を次に示します。
$now = new \DateTime();
$now->add(new DateInterval('PT24H')); // adds 24 hours
$now->add(new DateInterval('P2D')); // adds 2 days
PHP: DateTime::add - マニュアルhttps://www.php.net/manual/fr/datetime.add.php
$date_to_be-added="2018-04-11 10:04:46";
$added_date=date("Y-m-d H:i:s",strtotime('+24 hours', strtotime($date_to_be)));
date()とstrtotime()関数の組み合わせがうまくいきます。
$now = date("Y-m-d H:i:s");
date("Y-m-d H:i:s", strtotime("+1 hours $now"));