/**
* Convert user's local time to UTC time
*/
function dateTime_local_to_utc($time, $timezone, $abbr = false) {
//target time zone
if ($abbr) {
$t = timeStandardToTimeZone($timezone);
$timezone = $t['timezone_id'];
}
$userTimezone = new DateTimeZone($timezone);
$userTime = new DateTime('now', $userTimezone);
// time in seconds, based on UTC
$offset = $userTime->getOffset();
// get server timeZone first
$server_timezone = date_default_timezone_get();
// set server timeZone provided via user
date_default_timezone_set($timezone);
// get UTC time
$time = date('Y-m-d H:i:s', strtotime($time) - $offset);
// now set server timeZone default
date_default_timezone_set($server_timezone);
return $time;
}
if (!function_exists('timeStandardToTimeZone')) {
function timeStandardToTimeZone($ts)
{
$timezone_abbreviations = DateTimeZone::listAbbreviations();
if (!empty($timezone_abbreviations[strtolower($ts)])) {
return $timezone_abbreviations[strtolower($ts)][0];
}
return $ts;
}
}
Tuesday, April 14, 2020
Convert user time to UTC time
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment