2012-01-30 55 views
7

我有一个具有动态JavaScript日历的Web应用程序,该日历允许用户为给定的数据和时间设置事件。我需要将通知推送给用户,因此我需要将它们输入的日期时间和时区转换为东部标准时间,以便我的通知在正确的时间发出。如何将日期时间从用户时区转换为javascript中的javascript

我想在javascript中这样做,以便当数据时间值到达php时,在添加到数据库之前它的格式正确。因此,总而言之,我需要将通过捕获用户数据时间(作为完整UTC日期)获得的JavaScript数据时间和时区转换为我的服务器时区(即EST - 纽约)。

任何帮助或方向在这个问题上,将不胜感激。 谢谢:)

回答

15

PL检查这个脚本

function convertToServerTimeZone(){ 

    //EST 
    offset = -5.0 

    clientDate = new Date(); 
    utc = clientDate.getTime() + (clientDate.getTimezoneOffset() * 60000); 

    serverDate = new Date(utc + (3600000*offset)); 

    alert (serverDate.toLocaleString()); 


} 
+0

This Works!如何将时间转换回用户时区,以便在页面上显示日期时间? – 2012-01-30 22:15:37

+0

这一切都在抵消。您可以使用用户时区偏移量并使用date对象上可用的函数以用户特定于语言环境的格式进行呈现。代码示例请 – user47900 2012-01-30 22:24:09

+0

.....再次感谢! :) – 2012-01-30 22:34:00

0

,当你(通过PHP)使其我谨提请EST时区偏移到页面,然后抢在UTC时间在客户端和偏移如果你的服务器移动时区,你的页面会突然报错。

尽管我刚刚做了这个,但发现最简单的方法是实际使用mySQL(我假设这是你的数据库),并让它在你进入时为你转换时区日期戳。除非你担心这是太多的任务,而你试图绝对减少你的数据库的工作,我会走这条路,而不是试图在JS中进行手动TZ转换。

相关问题