关于html:如何在javascript中将datetime从用户时区转换为EST

How to convert datetime from the users timezone to EST in javascript

本问题已经有最佳答案,请猛点这里访问。

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

我想在javascript中这样做,这样当数据时间值到达php时,它就会以正确的格式添加到数据库中。

总而言之,我需要转换一个javascript数据时间和时区,我通过捕获用户数据时间,作为完整的UTC日期,转换到我的服务器时区,即EST - 纽约。

任何有关此事的帮助或指示都将不胜感激。
谢谢 :)


Pl检查这个脚本

1
2
3
4
5
6
7
8
9
10
11
12
13
14
function convertToServerTimeZone(){

    //EST
    offset = -5.0

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

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

    alert (serverDate.toLocaleString());


}


我会在你渲染它时(通过PHP)将EST时区偏移量绘制到页面中,然后在客户端上获取UTC时间并将其与你绘制的数量相抵消。否则,如果你的服务器移动时区你的 页面会突然报错时间。

我最近刚刚做了这个,并发现处理这个的最简单的方法是实际使用mySQL(我假设那是你的数据库),并且让你在输入日期标记时为你转换时区。 除非你担心这太过分,并且你试图绝对减少数据库正在做的工作,否则我会走这条路,而不是试图在JS中进行手动TZ转换。