PHP时间戳日期到用户时区

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP时间戳日期到用户时区脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我将$ITem_date的原始生成mysql时间戳信息从数据库中拉为PHP日期格式:
if (($timestamp = strtotime($item_date)) === false) {
    echo "The timestamp string is bogus";
} else {
    echo date('j M Y h:i:sA',$timestamp);
}

服务器区域(UTC)之后的输出

但我希望它根据用户时区进行转换

示例:假设用户的时间是2012年11月13日上午07:00:00(格林威治标准时间0800),服务器时间是2012年11月12日下午11:00:00(UTC),$item_date的时间戳是2012年11月12日10 :30:00(UTC)所以

(UTC)用户将$item_date视为:

和(0800 GMT)用户将$item_date视为:

我怎么做到的?
谢谢

这篇文章已经更新,包括一个完整的例子
<?PHP
    session_start();

    if (isset($_POST['timezone']))
    {
        $_SESSION['tz'] = $_POST['timezone'];
        exit;
    }

    if (isset($_SESSION['tz']))
    {
        //at this point,you have the users timezone in your session
        $item_date = 1371278212;

        $dt = new DateTime();
        $dt->setTimestamp($item_date);

        //just for the fun: what would it be in UTC?
        $dt->setTimezone(new DateTimeZone("UTC"));
        $would_be = $dt->format('Y-m-d H:i:sP');

        $dt->setTimezone(new DateTimeZone($_SESSION['tz']));
        $is = $dt->format('Y-m-d H:i:sP');

        echo "Timestamp " . $item_date . " is date " . $is . 
             " in users timezone " . $dt->getTimezone()->getName() .
             " and would be " . $would_be . " in UTC<br />";
    }
?>

<script tyPE="text/javascript" src="http://code.jquery.COM/jquery-latest.min.js"></script>
<script src="http://cdnjs.clouDFlare.com/ajax/libs/jstimezonedetect/1.0.4/jstz.min.js"></script>
<script language="javascript">
  $(document).ready(function() {
        <?PHP if (!isset($_SESSION['tz'])) { ?>
            $.ajax({
                type: "POST",url: "tz.PHP",data: 'timezone=' + jstz.determine().name(),success: function(data){
                    location.reload();
                }
            });

        <?PHP } ?>        
    });
</script>

我希望现在已经足够清楚了;).

脚本宝典总结

以上是脚本宝典为你收集整理的PHP时间戳日期到用户时区全部内容,希望文章能够帮你解决PHP时间戳日期到用户时区所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。