将设置日期自动转换为用户的本地时间

时间:2014-08-17 19:15:49

标签: javascript php jquery

我正在创建一个应用程序,其中包含大量的日期和时间,我需要在用户的本地时间和日期中显示这些日期和时间。所有设定日期和时间均为BST;例如 08-24-2014 16:00 BST = 08-24-2014 11:00 EST 。现在,在来到这里之前,我花了3-4个小时寻找答案,但如果有的话,我会更加困惑。 有没有办法,将一组BST日期和时间自动转换为用户的本地设置而不设置时区等?

p.s。:我有两个想法,但我不知道它们是否会起作用,也不知道如何执行它们。

1)获取并更改BST日期和时间并将其转换为计量单位;获取并更改用户的本地日期和时间,并将其转换为与上述相同的度量单位,计算新测量值的差异,并将其转换为用户的当地时间。

2)使用GeoLocation查找用户的日期和时间/时区;将BST转换为GeoLocation吐出的任何内容。

2 个答案:

答案 0 :(得分:0)

您可以在javascript中获取用户计算机时区:

var currentDate = new Date();
var currentTimeZoneOffsetInHours = currentDate.getTimezoneOffset() / 60;

请参阅此处的文档:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/getTimezoneOffset

有了偏移量,你可以将它添加到你的值

答案 1 :(得分:0)

有一个javascript库Moment.js,可让您查询特定日期和时区的夏令时值。

  1. 因为您的所有日期都在英国夏季。首先查询日期是否在英国冬令时isDSTShifted()。和subtract()一小时。

  2. 将日期转换为其他时区