DateTime
PHP Manual

DateTime::setTime

(PHP 5 >= 5.2.0)

DateTime::setTime時刻を設定する

説明

public DateTime DateTime::setTime ( int $hour , int $minute [, int $second ] )
DateTime date_time_set ( DateTime $object , int $hour , int $minute [, int $second ] )

DateTime オブジェクトの現在時刻を別の時刻にリセットします。

パラメータ

object

手続き型のみ: date_create() が返す DateTime オブジェクト

hour

その時刻の時。

minute

その時刻の分。

second

その時刻の秒。

返り値

変更後の DateTime を返します。

変更履歴

バージョン 説明
5.3.0返り値が NULL から DateTime に変更されました。

例1 DateTime オブジェクトの時刻の変更

<?php
date_default_timezone_set
('Europe/London');

$datetime = new DateTime('2008-08-03 12:35:23');
echo 
$datetime->format('Y-m-d H:i:s') . "\n";

$datetime->setTime(145524);
echo 
$datetime->format('Y-m-d H:i:s') . "\n";

// Warning: Does not increment the hour!
// This is because the hour has been set (14) - see date_modify()
$datetime->setTime($datetime->format('H'), $datetime->format('n') + 6);
echo 
$datetime->format('Y-m-d H:i:s') . "\n";

// *Does* increment the day, because the day has not been set
$datetime->setTime($datetime->format('H') + 12$datetime->format('n'));
echo 
$datetime->format('Y-m-d H:i:s') . "\n";
?>

上の例の出力は以下となります。

2008-08-03 12:35:23
2008-08-03 14:55:24
2008-08-03 14:14:00
2008-08-04 02:08:00

参考


DateTime
PHP Manual