将 Javascript 日期对象设置为午夜而不基于用户计算机日期

发布于 2024-11-30 01:34:24 字数 436 浏览 1 评论 0原文

无论用户的计算机日期如何,我都需要将日期和时间设置为午夜 12 点。我正在创建一个国际会议策划程序,以抵消时区以召开会议。

我已经可以工作了,但我现在需要对时区的差异进行编码。如果我使用新日期,它会根据用户的计算机为我提供时间。例如,我的是美国东部。如果我尝试在 2011 年 11 月 6 日进行时区转换,Javascript/计算机将在凌晨 2 点计算我的时区转换。我不想要这个。

我的真正目标是将其设置为会议举办地所在时区的午夜 12 点(假设是阿富汗),然后从那里开始计算。

那么:

  1. 如何设置午夜 12 点而不是用户的计算机时间?

  2. 我可以将午夜 12 点设置为特定时区,而不依赖于用户的计算机时间吗?

我必须使用 Javascript 来完成此操作,因为不涉及服务器代码。

谢谢

I need to set a date and time to 12 midnight regardless of the user's computer date. I am creating an international meeting planner to offset time zones to get the meeting.

I have it working but I need to code now the differences in time zones. If I use new Date, it gives me the time based on the user's computer. For example, mine is Eastern US. If I try to do the time zone shift on November 6, 2011, Javascript/computer will calculate MY time zone shift at 2am. I do not want this.

My real goal is to set it to 12 midnight in the timezone that is where the meeting will be hosted from (let's say Afghanistan) and then calculate from there.

So:

  1. How do I set 12 midnight without being being the user's computer time?

  2. Can I set 12 midnight to a specific time zone, without being dependent on user's computer time?

I have to do this with Javascript as there is no server code involved.

Thanks

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

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

发布评论

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

评论(2

热风软妹 2024-12-07 01:34:24

我猜想是这样的: new Date(Date.UTC(年、月、日、小时、分钟、秒))

w3schools 参考

Something like this I would guess: new Date(Date.UTC(year, month, day, hour, minute, second))

w3schools Reference

浪菊怪哟 2024-12-07 01:34:24

创建 GMT 午夜:

// Note: months are 0-based, so 7 == august
var midnight = new Date( Date.UTC(2011,7,15) );
// Sun Aug 14 2011 18:00:00 GMT-0600 (Mountain Daylight Time)

创建另一个时区的午夜:

var mdt = -6; // Mountain Daylight Time
var midnightMDT = new Date( Date.UTC(2011,7,15,-mdt) );
//-> Mon Aug 15 2011 00:00:00 GMT-0600 (Mountain Daylight Time)

日期对象以用户的本地时区表示,但它们仍然代表另一个时区的午夜。

如果您想表达另一个时区的日期,则需要将日期偏移到该时区 (setUTCHours()),然后使用各种 getUTC* 方法(例如 getUTCHours( )) 构造您自己的字符串。

To create midnight in GMT:

// Note: months are 0-based, so 7 == august
var midnight = new Date( Date.UTC(2011,7,15) );
// Sun Aug 14 2011 18:00:00 GMT-0600 (Mountain Daylight Time)

To create midnight in another time zone:

var mdt = -6; // Mountain Daylight Time
var midnightMDT = new Date( Date.UTC(2011,7,15,-mdt) );
//-> Mon Aug 15 2011 00:00:00 GMT-0600 (Mountain Daylight Time)

Date objects are expressed in the local time zone of the user, but they are still representative of midnight in another time zone.

If you want to express a date in another time zone, you'll need to offset the date to that timezone (setUTCHours()) and then use the various getUTC* methods (e.g. getUTCHours()) to construct your own string.

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