DateTime::setTime()
date_time_set
(PHP 5 >= 5.2.0, PHP 7)
设置 DateTime 对象的时间
说明
面向对象风格public DateTime::setTime(int $hour,int $minute[,int $second= 0[,int $microseconds= 0]]): DateTime
过程化风格
date_time_set(DateTime$object,int $hour,int $minute[,int $second= 0[,int $microseconds= 0]]): DateTime
设置 DateTime 对象的时间。
参数
- $object
仅过程化风格:由date_create()返回的DateTime类型的对象。此函数会修改这个对象。
- $hour
小时。
- $minute
分钟。
- $second
秒。
- $microseconds
微秒。
返回值
返回被修改的 DateTime 对象,或者在失败时返回FALSE
.
更新日志
版本 | 说明 |
---|---|
7.1.0 | 新增$microseconds参数。 |
5.3.0 | 将返回值从NULL 改为DateTime类型。 |
范例
Example #1DateTime::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
超出有效范围的部分会增加到上一级
<?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
参见
- DateTime::setDate() 设置 DateTime 对象的日期
- DateTime::setISODate() 设置 ISO 日期
A 4th parameter has been added in PHP-7.1 : microseconds See the notes here: https://github.com/php/php-src/blob/e33ec61f9c1baa73bfe1b03b8c48a824ab2a867e/UPGRADING#L285