W3docs

PHP Function date_time_set()

In PHP, the date_time_set() function is used to set a new time for a given date. This function is part of the PHP DateTime class and can be used to set the time

In PHP, the DateTime::setTime() method is used to set a new time for a given DateTime object. This method is part of the PHP DateTime class and can be used to set the time portion of a date/time object to a new value.

Syntax

The syntax for the DateTime::setTime() method is as follows:

The syntax for the DateTime::setTime() method

$datetime->setTime($hour, $minute, $second, $microsecond);

Where:

  • $datetime is the DateTime object to modify.
  • $hour is the new hour value (0–23).
  • $minute is the new minute value (0–59).
  • $second is the new second value (0–59, optional, default is 0).
  • $microsecond is the new microsecond value (0–999999, optional, default is 0).

Note: The timezone of the DateTime object is preserved during this operation. The method modifies the object in place. If provided values exceed their valid ranges, PHP automatically normalizes them (e.g., hour 25 rolls over to the next day) rather than throwing an exception.

Example Usage

Let's take a look at an example of how to use the DateTime::setTime() method:

Example of PHP DateTime::setTime() Method

<?php
$date = new DateTime('2000-01-01 12:00:00');
$date->setTime(14, 30);
echo $date->format('Y-m-d H:i:s');

In this example, we first create a new DateTime object with the date and time set to '2000-01-01 12:00:00'. We then use the setTime() method to set the hour to 14 and the minute to 30. Finally, we use the format() method to display the modified date and time in the format 'Y-m-d H:i:s'.

How DateTime::setTime() Compares to Other Functions

The DateTime::setTime() method is the standard object-oriented approach in PHP for modifying time. Unlike procedural date functions that return new strings or require complex parsing, setTime() directly modifies the DateTime object in place, ensuring type safety and consistent behavior. This contrasts with DateTimeImmutable::setTime(), which returns a new instance instead of altering the original object.

Conclusion

The DateTime::setTime() method is a useful tool for manipulating dates and times in PHP. By providing a straightforward way to update the time portion of a DateTime object, it offers a convenient and reliable approach for date/time manipulation. For immutable date handling, use DateTimeImmutable::setTime(), which returns a new instance instead of modifying the original.

Practice

Practice

What does the date_default_timezone_set() function in PHP do?