Javascript 夏时制期间不工作的两个日期之间的小时差

Javascript 夏时制期间不工作的两个日期之间的小时差,javascript,Javascript,我有两个日期和时间,我想看看时间的差异。当运行夜间穿越夏令时,它忽略了夏令时。这就是我正在尝试的。进入时间为3月8日晚上11点,暂停时间为3月9日上午7点。预计会有7小时,但会有8小时 var hours = Math.abs(objTimeIn.valueOf() - objTimeOut.valueOf()) / 36e5; 您需要关心日期的当前时区偏移量。 您可以使用这段代码 var d1=新日期2015年10月3日; var d2=新日期2015年8月3日; //检索时区偏移 var

我有两个日期和时间,我想看看时间的差异。当运行夜间穿越夏令时,它忽略了夏令时。这就是我正在尝试的。进入时间为3月8日晚上11点,暂停时间为3月9日上午7点。预计会有7小时,但会有8小时

var hours = Math.abs(objTimeIn.valueOf() - objTimeOut.valueOf()) / 36e5;

您需要关心日期的当前时区偏移量。 您可以使用这段代码

var d1=新日期2015年10月3日; var d2=新日期2015年8月3日; //检索时区偏移 var dst1=d1.getTimezoneOffset; var dst2=d2.getTimezoneOffset; //获取这两个日期之间的差异 var-diff=d1-d2; //时区偏移 var add=dst2-dst1*60*1000; //添加偏移量 var ms=差异+相加;
console.logms/36e5;在哪个时区?并非所有时区都有DST。你能告诉我们你在哪里初始化日期吗?这可能会变得复杂-你知道你的用户在一个有夏令时的时区吗?我想你需要知道用户的位置并适应它。还有,你想完成什么?如果时间已过,则您希望忽略夏令时,否则您的数字将是错误的。这就是大多数时间敏感软件切换到使用UTC的原因。DST取决于时区。例如,在法国,我们在四月而不是三月前进,在十月而不是十一月返回。