繁体   English   中英

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

[英]How to convert stored database utc timestamps data into local timezone in PHP

有没有机会在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的格式2019-07-18 10:00:00+00:00在数据库中,则可能必须在检索到的日期上添加+00:00

您可以使用以下示例简单地解决您的问题

<?php
//Conside in UTC the date and time will be looks like this
$utcTime = time(); 
echo date("Y-m-d H:i:s", $utcTime);

//now change it to your time zone
date_default_timezone_set('Your-local-time-zone');
$utc_date = date("Y-m-d H:i:s", strtotime($row['utc_date']));
?>

说出我将使用的时区

date_default_timezone_set('Asia/Kolkata');

另外,您可以在此处找到PHP支持的时区

您可以从此处阅读有关PHP Date功能的更多信息

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM