'How to set time with DateTime modify?
Ok, we have 2018-04-09T10:00:00
How to set time in:
DateTime::createFromFormat('Y-m-d\TH:i:s', $periodauction)->modify('-1 day, +4 hour')->format('Y-m-d\TH:i:s')
It will return 2018-04-08T14:00:00, so it works fine.
But how to set specific time like 18 unstead +4 hour. To get 2018-04-08T18:00:00 ?
Solution 1:[1]
You can use the method setTime() to specify an hour and minutes:
$periodauction = '2018-04-09T10:00:00';
$date = DateTime::createFromFormat('Y-m-d\TH:i:s', $periodauction)->modify('-1 day');
$date->setTime(18,0);
echo $date->format('Y-m-d\TH:i:s');
Outputs:
2018-04-08T18:00:00
Solution 2:[2]
Set time.
$periodauction = '2018-04-09T10:00:00';
$date = DateTime::createFromFormat('Y-m-d\TH:i:s', $periodauction)->modify('-1 day t 18:00:00');
echo $date->format('Y-m-d\TH:i:s');
Or
$dateTime->modify('t 23:20:45');
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 | Syscall |
| Solution 2 | Obsidian |
