<?php
function real_database_datetime_normalize(\DateTime $dt) {
$dt->setTimeZone(new \DateTimeZone('UTC'));
return $dt->format('Y-m-d H:i:s');
}
// 3v4l uses UTC as default so we demonstrate fucked server configs
$now = new DateTime('now 00:00:00', new DateTimeZone('+0700'));
var_dump($now, real_database_datetime_normalize(clone $now));
Warning: PHP Startup: Unable to load dynamic library 'sodium.so' (tried: /usr/lib/php/8.3.5/modules/sodium.so (libsodium.so.23: cannot open shared object file: No such file or directory), /usr/lib/php/8.3.5/modules/sodium.so.so (/usr/lib/php/8.3.5/modules/sodium.so.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
object(DateTime)#1 (3) {
["date"]=>
string(26) "2018-09-05 00:00:00.000000"
["timezone_type"]=>
int(1)
["timezone"]=>
string(6) "+07:00"
}
string(19) "2018-09-04 17:00:00"