3

我正在建立一个基于世界各地时区的会议日历。我的问题是如何在 JavaScript 中从用户选择的日期中添加或减去时区。

例如,在选择表单上,用户将从表单中选择日期:然后我会得到结果并转换为如下日期......

var ldSelectDate = new Date(document.form1.year.value,
           document.form1.month.value,
           document.form1.day.value);

我想给这个对象加上午夜 12 点。

然后,我读入了一个 XML,它在两个城市之间的字符串中获取时区差异:例如喀布尔的“+0430”或纽约的“-0400”(夏令时)。这是基于格林威治标准时间,。

然后我计算两个城市之间的时区差异:这将返回字符串“830”。(我假设我必须将其作为日期对象返回?)。我完成了这部分返回一个字符串。我正在处理字符串。

然后我想循环播放一天中的 24 小时,将喀布尔设置为午夜 12 点,然后循环播放。我很可能会弄清楚这一点-也就是说,在循环时将日期设置为整个小时。

我的问题是从喀布尔轻松减去“830”,看看纽约的会议时间是多少。

如果我可以从喀布尔时间中减去小时和分钟,那将是理想的。我注意到这里有人减去 JavaScript 中的小时数,而不是分钟数。顺便说一句,那个帖子对我不起作用。

我用没有分钟的字符串做了这个,但我搞砸了分钟。必须有一个更简单的方法。

我会采用原生 JavaScript 或 jQuery 的解决方案。

同样,我需要在某个日期减去/添加小时和分钟的时区差异。

4

2 回答 2

12
date.setMinutes(date.getMinutes()+minutesToAdd);

上面的代码会将您的日期对象设置为 minutesToAdd 变量中的分钟数

于 2011-07-18T14:37:36.967 回答
-1

最简单的方法是计算那个时间增量的分钟,然后做一个分钟增量。

date.setMinutes(date.getMinutes() - (hours*60+minutes))
于 2011-07-18T14:38:15.337 回答