2011-07-18 61 views
3

我根据世界各地时区建设会议日历的日期。我的问题是如何从Javascript中的用户选择日期添加或减去时区。添加小时和分钟来用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的解决方案。

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

感谢

回答

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

上面的代码将在minutesToAdd可变提前设置你的约会对象的分钟数

+0

我该如何将它转换回整小时和分钟?我讨厌听起来很无知,但我一直在为此工作一个星期,但进展甚微。 – user581733

+0

你可以使用date.getHours()和使用date.getMinutes()分钟。 –

+1

所以,你可以做 VAR日期=新的日期(/ *此处的表单数据* /); date.setMinutes(date.getMinutes()+ calculateZoneDifference()); var timeString = date.getHours()+“:”+ date.getMinutes(); 这会让你看起来像9:54 –

-1

最简单的是计算分钟为时间差,然后做了几分钟三角洲。

date.setMinutes(date.getMinutes() - (hours*60+minutes))