php - 如何将存储的数据库 utc 时间戳数据转换为 PHP 中的本地时区

标签 php mysql

是否有机会在 PHP 中将数据库 utc 时区时间戳记录转换为本地时区?

//example of code

$utc_date = $row['utc_date'];

最佳答案

// common values
$timezone = "Australia/Melbourne";
$tz  = new DateTimeZone($timezone);
$dt = new DateTime();
$dt->setTimezone($tz);

// this can run inside a loop or by itself
$utc_date = $row['utc_date'];
$dt->setTimestamp(strtotime($utc_date));
$datetime = $dt->format("Y-m-d H:i:s");
// use the formatted date as required
echo $datetime; 

如果您愿意,您可以在循环内创建一个新的 DateTime 对象,或者在循环外创建它并重新使用它。

如果数据库中的日期/时间不是 2019-07-18 10:00:00+00:00 格式,您可能需要添加 +00 :00 到检索日期。

关于php - 如何将存储的数据库 utc 时间戳数据转换为 PHP 中的本地时区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57086964/

相关文章:

javascript - 更改谷歌地图中的javascript不会更新它?

php - 检查 radio 输入是否有值

php - 如何对两个表中的字段求和并按日期分组

php - Mapbox:如何使用 PHP 在 Mapbox 输入搜索自动完成中获取地址值并插入到 Mysql 表中?

php - 将记录移动到不同的表 MySQL

php - 我的 PHP 脚本的安全性

javascript - Highchart 与 html 网站中 SQL 数据的范围选择器

php - 将变量的值附加到变量名称?

MySQL 为不存在的记录返回 null

MySQL子查询效率