根据时间的流逝来改变日期和时间



我正在获取两个日期(过去的日期和当前的日期(之间的运行时间(以分钟、小时和天为单位(,我已经得到了这些数据,但我希望这些数据随着分钟、天和小时的增加而更改。例如,当我达到60分钟时,时间变为1小时,分钟变为0,当24小时过去时,这些小时变为一天,小时变回0,以此类推,我得到的数据不断增加,我该怎么做?

const calculateDate = () => {
const date = new Date('Sun Sep 01 2022 01:32:06 GMT-0500');
const currentDate = new Date();

const minutes= Math.floor((currentDate.getTime() - date.getTime()) / 1000 / 60);
const hours= Math.floor((currentDate.getTime() - date.getTime()) / 1000 / (3600));
const days= Math.floor((currentDate.getTime() - date.getTime()) / (1000*60*60*24));
}

有了这个,可以得到分钟、小时和天,但你如何更新,当你达到60分钟时,它会变成一小时,24小时变成一天?

JavaScriptDate对象为您想要做的事情内置了函数

var now = new Date()
var h = now.getHours()
var m = now.getMinutes()
var s = now.getSeconds()

上例中创建的新日期设置为创建日期的时间。

您可以使用Date对象本身获取当前时间:

var current = Date()

使用您的方法,您总是可以在不同的单元中看到完整的持续时间。

你必须使用模运算符才能得到"0";缺失部分";(除法的剩余部分(到下一个单元:

const date = new Date('Sun Sep 01 2022 01:32:06 GMT-0500');
const currentDate = new Date();
const dateDiff = (currentDate.getTime() - date.getTime()) / 1000;
const seconds = Math.floor(dateDiff) % 60;
const minutes = Math.floor(dateDiff / 60) % 60;
const hours   = Math.floor(dateDiff / (60 * 60)) % 24;
const days    = Math.floor(dateDiff / (60 * 60 * 24));

相关内容

  • 没有找到相关文章

最新更新