在javascript中更改一天开始的时间

时间:2014-08-03 06:58:04

标签: javascript datetime

有没有办法将日期从早上4点开始,而不是从早上12点开始,我们都知道,我正在搜索javascript库或一种方法使其可用,我现在正在使用片刻。但是我无法弄清楚如何去做。

Thanx征求意见,

1 个答案:

答案 0 :(得分:0)

获取当地时间,并将时区更改为服务器的时区加上4小时。服务器的时区是当地时间与GMT之间的小时数差异。

var GMTdate = new Date();
var timeZoneFromDB = 4.00; 
// add or subtract from the timeZone to set it to server time zone plus 4.
// get the timezone offset from local time in minutes
var tzDifference = timeZoneFromDB * 60 + GMTdate.getTimezoneOffset();
//convert the offset to milliseconds, add to targetTime, and make a new Date
var adjustedTime = new Date(GMTdate.getTime() + tzDifference * 60 * 1000);

使用adjustTime的Javascript日期函数不会比服务器日期晚4小时反映日期。

注意:当然小时是不正确的。

更新...将当地时间,“他们的时间”固定为GMT / UTC时间。

再次更新......第一次是正确的。我想了一下它需要从格林尼治标准时间(深夜尽职调查)开始。

注意:如果在服务器位置使用DST,请将timeZoneFromDb更改为

var timeZoneFromDB = ((new Date()).dst()) ? '-04:00' : '-05:00';

正确的数字可以调整到该时区。另请注意,DST不会在普遍的同一天开始,要正确处理它必须知道服务器时区。