【问题标题】:How to get server timezone in javascript如何在javascript中获取服务器时区
【发布时间】:2011-04-21 10:02:04
【问题描述】:

我想在 Javascript 中设置不同的时区。目前它显示的是本地机器或客户端 PC 日期/时区的日期和时区。

问候,

【问题讨论】:

    标签: javascript timezone


    【解决方案1】:

    Javascript 是一种客户端语言,不会以这种方式与服务器交互。您需要从服务器端平台获取该数据。

    这里有一些 PHP 代码来获取您正在寻找的数据。你要么需要把它放在你的页面中,然后将结果回显到一个 JS 变量中......

    <?php
        $date = new DateTime(null, new DateTimeZone('Europe/London'));
        $tz = $date->getTimezone();
        $tzone = $tz->getName();
    ?>
    
    <script type="text/javascript">
        var timeZone='<?php echo $tzone ?>';
    </script>
    

    ....或者保持 PHP 页面独立,并使用 AJAX 获取数据


    getTimeZone.php

    <?php
        $date = new DateTime(null, new DateTimeZone('Europe/London'));
        $tz = $date->getTimezone();
        echo $tz->getName();
    ?>
    

    JS

    var timeZone=null;
    $.get('getTimeZone.php', function(result){
        timeZone=result;
    }, 'html');
    //I know this is jQuery, not JS, but you get the idea.
    

    【讨论】:

    • 不知道为什么这被否决了……我投了赞成票,因为这是正确的答案
    • 谢谢,Michael Koper。我自己也在想同样的事情。
    【解决方案2】:

    JavaScript 中没有内置功能可以做到这一点。

    您可以在从服务器呈现时将时区嵌入(例如)页面上的隐藏字段,或者实现某种 http 请求以主动从服务器检索它。

    【讨论】:

      【解决方案3】:

      这样做的唯一方法是在服务器的响应中包含时区,或者从 javascript 浏览器客户端向服务器发出 ajax 调用以获取服务器的时区。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-11-02
        • 2016-09-22
        • 2011-06-09
        • 1970-01-01
        • 2014-06-26
        • 2011-03-15
        • 1970-01-01
        • 2023-04-03
        相关资源
        最近更新 更多