我正在根据世界各地的时区建立会议日历。我的问题是如何在Javascript中添加或减去用户选择日期的时区。
例如,在选择表单上,用户将从表单中选择日期:然后我会得到结果并转换为如下日期...
var ldSelectDate = new Date(document.form1.year.value,
document.form1.month.value,
document.form1.day.value);
我想在这个对象中添加12午夜。
然后我读入一个XML,它获取两个城市之间字符串的时区差异:例如喀布尔的“+0430”或纽约的“-0400”(夏令时)。这是基于GMT,。
然后我计算两个城市之间的时区差异:它将返回字符串“830”。 (我假设我必须将它作为日期对象返回?)。我完成了这部分返回一个字符串。我正在使用字符串。然后我想循环一整天的24小时,在午夜12点设置喀布尔然后循环。我很可能会想到这一点 - 也就是说,在我循环时将日期设置为整个小时。
我的问题是从喀布尔无痛地减去“830”,看看会议时间将在纽约。
如果我能从喀布尔时间减去小时和分钟,那将是理想的选择。我注意到有人在javascript中减去了小时数,但没有减去分钟数。顺便说一句,那篇文章对我不起作用。
我用没有分钟的字符串做了这个,但是我搞砸了会议记录。必须有一个更简单的方法。
我会在原生Javascript或jQuery中采用解决方案。
同样,我需要在特定日期减去/添加小时和分钟的时区差异。
由于
答案 0 :(得分:12)
date.setMinutes(date.getMinutes()+minutesToAdd);
上面的代码会将您的日期对象设置为minutesToAdd变量
中的分钟数答案 1 :(得分:-1)
最简单的方法是计算该时间增量的分钟,然后计算分钟增量。
date.setMinutes(date.getMinutes() - (hours*60+minutes))