使用时间戳(字符串)计算持续时间



编程新手

我已经编写了这段代码来计算两个时间戳之间的时间差(持续时间)。我对此很满意。但我想知道是否有什么方法可以改进我写的东西,并得到相同的结果。

这里有一个例子,


const startTime = 2202-05-12 + "T" + 10:00:00 + "Z"
const endTime = 2202-05-12 + "T" + 11:45:00 + "Z"
const format_startTime = new Date(startTime);
const format_endTime = new Date(endTime)
const hours_startTime = format_startTime.getHours()
const hours_endTime = format_endTime.getHours()
const min_startTime = format_startTime.getMinutes()
const min_endTime = format_endTime.getMinutes()
const hours_Duration = hours_endTime - hours_startTime
const min_Duration = min_endTime - min_startTime
const min_Decimal = min_Duration * (1/60)
const duration = hours_Duration + (min_Decimal === 0 ? '' : min_Decimal) + " hours";

结果- 1.75小时

编辑1 -澄清一下,本练习的要求是使用字符串格式的日期和时间。

您可以直接从一个时间戳中减去另一个时间戳以获得毫秒级的差值。只有当两个时间戳都在同一天时,您的版本才会准确。

const startTime = "2202-05-12T10:00:00Z"
const endTime = "2202-05-12T11:45:00Z"
const format_startTime = new Date(startTime);
const format_endTime = new Date(endTime);
const differenceInMillis = format_endTime - format_startTime;
const differenceInHours = differenceInMillis / 1000 / 60 / 60; // 1.75

最新更新