27

私は時間を得る:

$today = time();
$date = date('h:i:s A', strtotime($today));

現在の時刻が「1:00:00am」の場合、11:00:00 amになるようにさらに10時間を追加するにはどうすればよいですか?

4

7 に答える 7

57

strtotime()秒単位の時間を表す数値を返します。インクリメントするには、追加する対応する秒数を追加します。10時間=60* 60 * 10 = 36000なので、...

$date = date('h:i:s A', strtotime($today)+36000); // $today is today date

編集:私はあなたが$ todayに文字列の時間を持っていると仮定しました-あなたが現在の時間を使用しているだけなら、さらに簡単です:

$date = date('h:i:s A', time()+36000); // time() returns a time in seconds already
于 2009-11-03T07:11:01.233 に答える
23
$tz = new DateTimeZone('Europe/London');
$date = new DateTime($today, $tz);
$date->modify('+10 hours');
// use $date->format() to outputs the result.

DateTimeクラスを参照してください (PHP 5> = 5.2.0)

于 2009-11-03T07:16:45.077 に答える
7

$date = date('h:i:s A', strtotime($today . ' + 10 hours'));

(未テスト)

于 2009-11-03T07:10:24.387 に答える
7

DateTimeクラス、OOPスタイルを簡単に利用できます。

<?php
$date = new DateTime('1:00:00');
$date->add(new DateInterval('PT10H'));
echo $date->format('H:i:s a'); //"prints" 11:00:00 a.m
于 2013-12-27T06:26:26.693 に答える
5
$date = date('h:i:s A', strtotime($today . " +10 hours"));
于 2009-11-03T07:11:08.910 に答える
3

現在表示され、10分が追加された完全なコード....。

$nowtime = date("Y-m-d H:i:s");
echo $nowtime;
$date = date('Y-m-d H:i:s', strtotime($nowtime . ' + 10 minute'));
echo "<br>".$date;
于 2013-05-16T15:03:06.170 に答える
0

を使用して時間を増減するには、最初の引数で相対形式strtotimeを使用できます。

現在の時間を10時間増やす場合は、次のようにします。

$date = date('h:i:s A', strtotime('+10 hours'));

変更を別のタイムスタンプに適用する必要がある場合は、2番目の引数を指定できます。

ノート:

この関数を数学演算に使用することはお勧めできません。DateTime::add()PHP5.3以降ではDateTime::sub()を使用するか、PHP5.2ではDateTime:: modify()を使用することをお勧めします。

したがって、PHP5.3以降の推奨される方法は次のとおりです。

$dt = new DateTime(); // assuming we need to add to the current time
$dt->add(new DateInterval('PT10H'));
$date = $dt->format('h:i:s A');

またはエイリアスの使用:

$dt = date_create(); // assuming we need to add to the current time
date_add($dt, date_interval_create_from_date_string('10 hours')); 
$date = date_format($dt, 'h:i:s A');

タイムゾーンが指定されていない限り、すべての場合でデフォルトのタイムゾーンが使用されます。

于 2019-04-10T19:39:49.010 に答える