Sets the time

- « DateTime::setISODate

- DateTime::setTimestamp »

- PHP Manual
- DateTime
- Sets the time

# DateTime::setTime

# date_time_set

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

DateTime::setTime -- date_time_set — Sets the time

### Description

Object-oriented style

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

Procedural style

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

Resets the current time of the DateTime object to a different time.

Like DateTimeImmutable::setTime() but works with DateTime.

The procedural version takes the DateTime object as its first argument.

### Parameters

`object`

  Procedural style only: A DateTime object returned by date_create(). The function modifies this object.

`hour`

  Hour of the time.

`minute`

  Minute of the time.

`second`

  Second of the time.

`microsecond`

  Microsecond of the time.

### Return Values

Returns the modified DateTime object for method chaining.

### Changelog

Version | Description
--- | ---
8.1.0 | The behaviour with double existing hours (during the fall-back DST transition) changed. Previously PHP would pick the second occurrence (after the DST transition), instead of the first occurrence (before DST transition).
7.1.0 | The `microsecond` parameter was added.

### See Also

- DateTimeImmutable::setTime() - Sets the time