首页 > 解决方案 > UTC 与本地时间的时差

问题描述

我正在尝试找出上次通话结束时间与当前时间之间的通话时间。我从 MySQl bin 获取 Last update time 作为“2020-03-03T05:04:40.000Z”,现在我想从 React 应用程序中找到当前时间的持续时间,但现在我正在 JS Fiddle 中尝试这个。当我尝试下面的脚本时,实际结果总是多出 10 到 15 分钟。请任何人帮助我找到确切的解决方案。

<script>
var startTime, endTime,timeDiff;

startTime = new Date("2020-03-03T05:04:40.000Z");
endTime = new Date();
timeDiff = (endTime - startTime)/1000 ; //in ms
let seconds = Math.round(timeDiff);
document.write(sec2time(seconds))


function sec2time(timeInSeconds) {
    var pad = function(num, size) { return ('000' + num).slice(size * -1); },
    time = parseFloat(timeInSeconds).toFixed(3),
    hours = Math.floor(time / 60 / 60),
    minutes = Math.floor(time / 60) % 60,
    seconds = Math.floor(time - minutes * 60),
    milliseconds = time.slice(-3);
    return pad(hours, 2) + ':' + pad(minutes, 2) + ':' + pad(seconds, 2);
}
</script>

标签: javascriptdatetimeutc

解决方案


getTimezoneOffset()会做:

new Date().getTimezoneOffset() / 60

这将返回 UTC 之后或之前的小时数。(后面有积极意义)。


推荐阅读