0

我们有一个每天在太平洋标准时间凌晨 1 点运行的系统脚本。我们在世界各地都有用户。我们希望提供一个简单的网页,该网页使用 JavaScript 在用户的本地时区显示 1 AM PST。例如,纽约市的用户应该看到太平洋标准时间凌晨 4 点作为系统脚本运行的时间。

PST 时间格式为 HH:MM DD.YYYY。

这只需要在移动 Safari 上工作。

最好的方法是什么?

4

3 回答 3

0

代码将是这样的:

alert(new Date(your_pst_server_time).toLocaleString());
于 2013-02-24T11:10:10.563 回答
0

您可以使用对象的.getUTCHours().getTimezoneOffset()方法new Date()。为了便于使用,我将这个新功能附加到该对象上。它将接受一个参数,该参数指定返回的时间格式。

Date.prototype.getLocalTime = function (format){
    var date = new Date();
        var finalTime = ((date.getUTCHours()-2))-(((date.getTimezoneOffset())/60));
    if (format+'' != '24'){
        if (finalTime < 0){ finalTime = finalTime + 24 }
    }
    else {
        if (finalTime > 12){ finalTime = (finalTime - 12)+" PM" }
        else { finalTime += " AM" }
    }
    return finalTime.toString();
}

使用我的 CET 时区,调用new Date().getLocalTime('24')将返回"10"并且调用new Date().getLocalTime() (不带参数或不带参数"24"将返回"10 AM"

时间转换网站检查时区

于 2013-02-24T11:42:15.223 回答
0

这个函数是一个合理的第一次开始,但不适用于印度等时间偏移为 x.5 小时(x 小时 + 30 分钟)的国家。不幸的是,你不能像那样除以 60。

于 2013-09-06T07:51:24.823 回答