Php/docs/datetime.settime

提供:Dev Guides
< Php
移動先:案内検索

DateTime::setTime

date_time_set

(PHP 5 >= 5.2.0, PHP 7)

DateTime::setTime -- date_time_set時刻を設定する


説明

オブジェクト指向型

public DateTime::setTime ( int $hour , int $minute [, int $second = 0 [, int $microsecond = 0 ]] ) : DateTime

手続き型

date_time_set ( DateTime $object , int $hour , int $minute [, int $second = 0 [, int $microsecond = 0 ]] ) : DateTime

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


パラメータ

object
手続き型のみ: date_create() が返す DateTime オブジェクト。 この関数は、このオブジェクトを変更します。
hour
その時刻の時。
minute
その時刻の分。
second
その時刻の秒。
microsecond
その時刻のマイクロ秒。


返り値

メソッドチェインに使う DateTime オブジェクトを返します。失敗した場合に false を返します。


変更履歴

バージョン 説明
7.1.0 microsecond パラメータが追加されました。


例1 DateTime::setTime() の例

オブジェクト指向型


<?php$date = new DateTime('2001-01-01');$date->setTime(14, 55);echo $date->format('Y-m-d H:i:s') . "\n";$date->setTime(14, 55, 24);echo $date->format('Y-m-d H:i:s') . "\n";?>

手続き型


<?php$date = date_create('2001-01-01');date_time_set($date, 14, 55);echo date_format($date, 'Y-m-d H:i:s') . "\n";date_time_set($date, 14, 55, 24);echo date_format($date, 'Y-m-d H:i:s') . "\n";?>

上の例の出力は、 たとえば以下のようになります。


2001-01-01 14:55:00
2001-01-01 14:55:24

例2 範囲を超えた値が親の値に加算される例

<?php$date = new DateTime('2001-01-01');$date->setTime(14, 55, 24);echo $date->format('Y-m-d H:i:s') . "\n";$date->setTime(14, 55, 65);echo $date->format('Y-m-d H:i:s') . "\n";$date->setTime(14, 65, 24);echo $date->format('Y-m-d H:i:s') . "\n";$date->setTime(25, 55, 24);echo $date->format('Y-m-d H:i:s') . "\n";?>

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


2001-01-01 14:55:24
2001-01-01 14:56:05
2001-01-01 15:05:24
2001-01-02 01:55:24

参考