DateTime::setTime

date_time_set

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

DateTime::setTime -- date_time_set設(shè)置 DateTime 對(duì)象的時(shí)間

說(shuō)明

面向?qū)ο箫L(fēng)格

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

過(guò)程化風(fēng)格

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

設(shè)置 DateTime 對(duì)象的時(shí)間。

參數(shù)

object

僅過(guò)程化風(fēng)格:由 date_create() 返回的 DateTime 類型的對(duì)象。此函數(shù)會(huì)修改這個(gè)對(duì)象。

hour

小時(shí)。

minute

分鐘。

second

秒。

microsecond

微秒。

返回值

返回被修改的 DateTime 對(duì)象, 或者在失敗時(shí)返回 false.

更新日志

版本 說(shuō)明
7.1.0 新增 microsecond 參數(shù)。

范例

示例 #1 DateTime::setTime() 例程

面向?qū)ο箫L(fēng)格

<?php
$date 
= new DateTime('2001-01-01');

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

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

過(guò)程化風(fēng)格

<?php
$date 
date_create('2001-01-01');

date_time_set($date1455);
echo 
date_format($date'Y-m-d H:i:s') . "\n";

date_time_set($date145524);
echo 
date_format($date'Y-m-d H:i:s') . "\n";
?>

以上例程的輸出類似于:

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

示例 #2 超出有效范圍的部分會(huì)增加到上一級(jí)

<?php
$date 
= new DateTime('2001-01-01');

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

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

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

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

以上例程會(huì)輸出:

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

參見(jiàn)