2013-02-24 60 views
0

我们有一个系统脚本,每天在PST上午1点运行。我们有世界各地的用户。我们希望提供一个简单的网页,使用JavaScript在用户的当地时区显示上午1点PST。例如,纽约市的用户应该看到系统脚本运行的时间为上午4点。将1 AM PST转换为JavaScript的本地时间?

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

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

这样做的最好方法是什么?

+0

什么格式你的时间准确?请举个例子。 – powtac 2013-02-24 11:07:19

+0

更新,谢谢。 – Crashalot 2013-02-24 17:53:52

回答

0

的代码会是这样的:

alert(new Date(your_pst_server_time).toLocaleString()); 
+0

your_pst_server_time会在这里? – 2013-02-24 11:10:52

+0

你有什么格式的本地PST时间?是HH:MM DD.YYYY?还是ISO格式? – powtac 2013-02-24 11:11:46

+0

对不起,PST时间格式是HH:MM DD.YYYY。 – Crashalot 2013-02-24 17:53:21

0

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

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"

Time Conversion Site to check timezones

0

这个函数是一个合理的第一次启动,但不会与有时间的X.5小时偏移(X小时30分钟+),像印度这样的国家应对。不幸的是,你不能像这样分割60。

相关问题