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



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

我有它的工作,但我现在需要编码在时区的差异。如果我使用new Date,它会根据用户的计算机给出时间。例如,我的家乡是美国东部。如果我尝试在2011年11月6日进行时区偏移,Javascript/计算机将在凌晨2点计算我的时区偏移。我不想要这个

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

:

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

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

我必须用Javascript做这个,因为没有涉及到服务器代码。

谢谢

我猜是这样的:new Date(Date.UTC(year, month, day, hour, minute, second))

w3schools参考

创建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)

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

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

相关内容

  • 没有找到相关文章

最新更新