12

私はこの変数を持っています:

$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time ());

単純に 3 時間を追加してエコーアウトしたいだけです。

60 * 60 * 3 メソッドまたはハードコード「+ 3 時間」を実行できる方法を見てきました。

この結果を得る最良の方法は何ですか?

4

7 に答える 7

20

最良の方法は、より読みやすいと思われるものです。次の式は同じです。

time() + 3 * 60 * 60

strtotime('+3 hours')
于 2012-06-18T02:37:00.030 に答える
9

私はいつもこのようにします

$current_time = date('Y-m-d H:i:s');
$new_time = strtotime($current_time . "+3hours");
echo $new_time;

また

$new_time = mktime(date('H')+3, 0, 0, date('m'), date('d'), date('Y'));
$new_time = date('Y-m-d H:i:s', $new_time);
echo $new_time;
于 2012-06-18T04:08:56.767 に答える
8
$timestamp = strftime("%Y-%m-%d %h:%M:%S %a", time() + 3*60*60)

3*60*60最善の方法です

于 2012-06-18T02:30:05.037 に答える
1

を使用DateTime::modifyして時間を追加できますが、私はただtime()+10800.

于 2012-06-18T02:31:17.700 に答える
1
$time = new DateTime("+ 3 hour");
$timestamp = $time->format('Y-M-d h:i:s a');

明確かつ簡潔:)

于 2012-06-18T02:37:23.923 に答える
0

「モダン」に行きたい場合:

$d = new DateTime();
$d->add(new DateInterVal('P3H'));
$timestamp = $d->format('Y-M-d h:i:s a');

refs: DateTimeオブジェクト

于 2012-06-18T02:32:50.437 に答える