getOffset($dt); } else { $tz_offset = (int) -($_SESSION["clientTzOffset"] ?? 0); } $user_timestamp = $dt->format('U') + $tz_offset; if (!$no_smart_dt) { return self::smart_date_time($user_timestamp, $tz_offset, $owner_uid, $eta_min); } else { if ($long) $format = get_pref(Prefs::LONG_DATE_FORMAT, $owner_uid); else $format = get_pref(Prefs::SHORT_DATE_FORMAT, $owner_uid); return date($format, $user_timestamp); } } static function convert_timestamp($timestamp, $source_tz, $dest_tz) { try { $source_tz = new DateTimeZone($source_tz); } catch (Exception $e) { $source_tz = new DateTimeZone('UTC'); } try { $dest_tz = new DateTimeZone($dest_tz); } catch (Exception $e) { $dest_tz = new DateTimeZone('UTC'); } $dt = new DateTime(date('Y-m-d H:i:s', $timestamp), $source_tz); return (int)$dt->format('U') + $dest_tz->getOffset($dt); } }