无论用户的计算机日期如何,我都需要将日期和时间设置为午夜12点。我正在创建一个国际会议计划,以抵消时区,以获得会议。
我有它的工作,但我现在需要编码在时区的差异。如果我使用new Date,它会根据用户的计算机给出时间。例如,我的家乡是美国东部。如果我尝试在2011年11月6日进行时区偏移,Javascript/计算机将在凌晨2点计算我的时区偏移。我不想要这个
我真正的目标是将它设置为会议举办的时区午夜12点(假设是阿富汗),然后从那里计算。
:
-
如何设置12午夜而不成为用户的计算机时间?
-
我可以将午夜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()
)来构造你自己的字符串