如何在JavaScript中将用户的时区转换为EST的日期时间

10 浏览
0 Comments

如何在JavaScript中将用户的时区转换为EST的日期时间

我有一个web应用程序,其中包含一个动态的JavaScript日历,允许用户设置给定日期和时间的事件。我需要向用户发送通知,因此我需要将他们输入的日期时间和时区转换为东部标准时间,以便我的通知在正确的时间发送出去。

我希望用JavaScript来实现这一点,这样当日期时间值传递给php时,它就是正确的格式,然后再添加到数据库中。

总之,我需要将JavaScript的日期时间和时区转换为我服务器的时区,即纽约的东部标准时间。

对于这个问题的任何帮助或指导,将不胜感激。

谢谢 🙂

0
0 Comments

问题的原因是在网页渲染时,通过PHP将EST时区偏移量绘制到页面中,然后在客户端获取UTC时间,并将其偏移相同的量。这样做的原因是,如果服务器的时区发生变化,页面将突然报告错误的时间。

最简单的解决方法是在使用MySQL数据库(假设这是你的数据库)时,让数据库在输入日期时自动转换时区。除非你担心这样做会增加数据库的工作量并且你试图绝对减少数据库的工作,否则我会选择这种方法,而不是在JS中手动进行时区转换。

0
0 Comments

问题的原因是用户想要将日期时间从用户的时区转换为东部标准时间(EST)。解决方法是使用JavaScript,通过使用日期对象上可用的函数和用户的时区偏移量来实现。

以下是解决问题的具体步骤:

首先,在JavaScript中创建一个名为`convertToServerTimeZone`的函数,该函数用于将日期时间转换为EST时区。在函数内部,使用`new Date()`创建一个客户端当前时间的日期对象,并将其保存在`clientDate`变量中。

接下来,设置EST的时区偏移量为-5。将客户端当前时间的时间戳与时区偏移量和60000的乘积相加,并将结果保存在`utc`变量中。然后,使用`new Date()`和计算后的时间戳创建一个表示EST时间的日期对象,并将其保存在`serverDate`变量中。

最后,使用`alert()`函数将转换后的日期时间以本地特定格式显示出来。

然后,用户提出了另一个问题,即如何将时间转换回用户的时区,以便在页面上显示日期时间。解决方法是使用用户的时区偏移量和日期对象上可用的函数来渲染用户特定的本地格式。

为了实现这一点,用户可以使用以下JavaScript代码来显示客户端的时区并将时间转换回用户的时区:

function displayClientTimeZone(){
    clientDate = new Date();
    alert (clientDate.toLocaleString());
    return clientDate.toLocaleString();
}

这段代码会在客户端浏览器上运行,所以只需要使用JavaScript即可。

需要注意的是,尽管这个解决方案可以将时间转换为EST(北美东部标准时间),但它并没有考虑夏令时。如果用户需要的是“美国东部时间”,即包括东部标准时间和夏令时的时间,那么这种方法将不起作用。用户可以使用库来解决这个问题。

总结一下,通过使用用户的时区偏移量和日期对象上可用的函数,可以将日期时间从用户的时区转换为EST。如果需要将时间转换回用户的时区,则可以使用类似的方法。然而,需要注意夏令时的问题。用户还可以通过使用库来解决这个问题,以实现更复杂的功能。

0