web-dev-qa-db-ja.com

PHPでの時間計算(10時間追加)?

私は時間を得る:

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

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

21
myphpsql00

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
49
Amber
$tz = new DateTimeZone('Europe/London');
$date = new DateTime($today, $tz);
$date->modify('+10 hours');
// use $date->format() to outputs the result.

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

20
user180100

DateTime class、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
6

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

(未テスト)

6
jensgram
$date = date('h:i:s A', strtotime($today . " +10 hours"));
3
Marek Karbarz

現在表示され、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;
2
Mikeys4u

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

現在の時刻を10時間増やす場合:

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

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

注:

この関数を数学演算に使用することはお勧めできません。 DateTime::add() およびDateTime :: sub()をPHP 5.3以降、またはDateTime :: modify()in PHP 5.2。

したがって、推奨される方法PHP 5.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');
_

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

0
Nik