PHP:如何从数据库返回本地时间



我将日期存储在数据库中的DATETIME类型中,如下所示:Y-m-d H:i:s

我想要实现的是用用户的本地时间从数据库中返回日期。例如,如果用户在法国,我将返回他的时区。是否可以在不存储用户时区的情况下实现这一点?或者,如果可能以某种方式,并且需要更改数据库中的存储格式,那么我可以这样做。但是,我正在尝试在不存储用户时区的情况下实现这一目标。

在数据库中以 UTC 格式存储时间,然后在应用程序中执行时区本地化。 但是,您需要知道用户的时区。

好吧,我能想到在不询问用户时区的情况下做到这一点的唯一方法是:

<p>The time is: <span id="time" data="<?php echo strtotime($time_from_db); ?>"></span></p>
<script type="text/javascript">
    (function () {
        var t = document.getElementById('time'), d = new Date();
        d.setTime(t.getAttribute("data"));
        t.innerHTML = d;
    })();
</script>

这会将日期时间作为时间戳传递,然后 JS 将区域设置(包括时区)应用于时间戳。

如果您以 GMT 格式存储日期,则可以根据用户的时区向用户显示日期。

编辑:

 date_default_timezone_set('UTC');
 $today = getdate();
 print_r($today);

检查这个: php 将日期时间转换为 UTC和这个:在 PHP 中将 UTC 日期转换为本地时间和这个: http://www.php.net/manual/en/function.gmdate.php

相关内容

  • 没有找到相关文章

最新更新