使用 JavaScript 在日期中添加小时和分钟

发布于 2024-11-25 06:12:00 字数 812 浏览 4 评论 0原文

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

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

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

我想向该对象添加午夜 12 点。

然后,我读入一个 XML,该 XML 以字符串形式获取两个城市之间的时区差异:例如喀布尔的“+0430”或纽约的“-0400”(夏令时)。这是基于 GMT 的。

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

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

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

如果我能从喀布尔时间中减去小时和分钟,那就太理想了。我注意到有人在 JavaScript 中减去了小时,但没有减去分钟。顺便说一句,那篇文章对我不起作用。

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

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

同样,我需要减去/加上特定日期的时区差异(以小时和分钟为单位)。

I am building a meeting calendar based on time zones around the world. My problem is how to add or subtract the time zone from the user selected date in JavaScript.

For example, on the select form, the user will select the date from a form: I would then get the results and convert to a date as below...

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

I would like to add 12 midnight to this object.

I then read in an XML that gets the time zone difference in a string between two cities: such as "+0430" for Kabul or "-0400" for New York (on daylight savings time). This is based on GMT,.

I then calculate the time zone difference between the two cities: which will return the string of "830". (I assume I have to return this as a date object?). I got this part done returning a string. I'm working with strings.

I then want to loop through the 24 hours of the day, set Kabul at 12 midnight and then loop through. I can most likely figure this out - that is, set the date with the whole hours as I loop.

My problem is painlessly subtract the "830" from Kabul to see what the meeting time will be in New York.

It will be ideal if I can just subtract the hours and the minutes from the Kabul time. I noticed on here someone subtracting the hours in JavaScript, but not the minutes. BTW, that post didn't work for me.

I did this with strings without the minutes, but I mess up with the minutes. There has to be an easier way.

I would take a solution in either native JavaScript or jQuery.

Again, I need to subtract/add the time zone difference in hours and minutes to a certain date.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

野心澎湃 2024-12-02 06:12:00
date.setMinutes(date.getMinutes()+minutesToAdd);

上面的代码将把你的日期对象设置为提前 分钟ToAdd 变量中的分钟数

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

The above code will set your date object ahead by the amount of minutes in the minutesToAdd variable

森罗 2024-12-02 06:12:00

最简单的方法是计算该时间增量的分钟数,然后计算分钟增量。

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

Easiest would be to calculate the minutes for that time delta then do a minutes delta.

date.setMinutes(date.getMinutes() - (hours*60+minutes))
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文