Javascript 如何获取PHP日期和当前JS日期之间经过的时间

Javascript 如何获取PHP日期和当前JS日期之间经过的时间,javascript,php,date,Javascript,Php,Date,我想计算两个日期之间经过的时间。开始日期使用PHP计算,并作为datetime字段存储在mySQL中。然后在我的网页上,我想用JS显示我的数据库datetime和当前datetime之间经过的时间 当我在JS中获得以秒为单位的日期时,它不包括英国的夏季时间。但数据库版本确实如此。如何获取或计算自大纪元(包括夏季)起的秒数 var start = document.getElementById('unix_start').value; display_elapsed = document.get

我想计算两个日期之间经过的时间。开始日期使用PHP计算,并作为datetime字段存储在mySQL中。然后在我的网页上,我想用JS显示我的数据库datetime和当前datetime之间经过的时间

当我在JS中获得以秒为单位的日期时,它不包括英国的夏季时间。但数据库版本确实如此。如何获取或计算自大纪元(包括夏季)起的秒数

var start = document.getElementById('unix_start').value; 
display_elapsed = document.getElementById('elapsed');

//var now = Math.floor(Date.now() / 1000); // returns UTC seconds

var nowm = new Date();
var now = Math.floor(nowm.getTime() / 1000); // also UTC seconds

var elapsed = now - start;
var h = Math.floor(elapsed / 3600);
var m = Math.floor((elapsed - (h*3600)) / 60);
// plus some formatting logic...for leading zeros

display_elapsed.value =  h+':'+m;

我希望网页显示例如已过1.00小时。相反,它总是从-1.00开始为负值,一小时后才变为正值。

好的-我现在发现了getTimezoneOffset()函数。因此,我使用了以下方法:

var start = document.getElementById('unix_start').value; 
var display_elapsed = document.getElementById('elapsed');
var nowm = new Date();
var offset=nowm.getTimezoneOffset() * 60; // convert to seconds
var now = Math.floor(nowm.getTime() / 1000) - offset;
var start = document.getElementById('unix_start').value;
var elapsed = now - start;
var h = Math.floor(elapsed / 3600);
var m = Math.floor((elapsed - (h*3600)) / 60);
// plus some formatting logic...for leading zeros
display_elapsed.value =  h+':'+m;
Date.now()以毫秒为单位返回ECMAScript时间值。UNIX时间值(通常)是来自同一纪元的秒数。两者都是UTC。因此,要以秒为单位获得差异,只需到
Date.now()/1000-UNIX\u time
。start的值是多少?mySQL以“YYYY-MM-DD hh:MM:ss”格式返回datetime字段,这似乎不是unix\u start值的格式。