无论用户的计算机日期如何,我都需要将日期和时间设置为午夜12点。我正在创建一个国际会议策划者来抵消时区以开会。
我有它的工作,但我现在需要编码时区的差异。如果我使用新的日期,它会根据用户的计算机给我时间。例如,我的是美国东部。如果我尝试在2011年11月6日进行时区转换,Javascript /计算机将在凌晨2点计算我的时区转换。我不想要这个。
我的真正目标是将会议设置的时区设置为午夜12点(比如阿富汗),然后从那里计算。
所以:
如何在不作为用户计算机时间的情况下设置午夜12点?
我可以将12午夜设置为特定时区,而不依赖于用户的计算机时间吗?
我必须使用Javascript执行此操作,因为不涉及服务器代码。
由于
答案 0 :(得分:2)
我想是这样的:new Date(Date.UTC(year, month, day, hour, minute, second))
答案 1 :(得分:1)
在格林尼治标准时间创建午夜:
// 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()
)来构建自己的字符串。