如何在JavaScript中计算两个日期之间的夜间和日间小时数

如何在JavaScript中计算两个日期之间的夜间和日间小时数,javascript,datetime,momentjs,Javascript,Datetime,Momentjs,夜间时间从22:00到07:00,可能会有所不同(可能是moment.js,但没有具体的实现)。任何提示、其他资源的链接都会有所帮助。提前谢谢您。您可以这样做 var FirstDate = Date.now(); DoSomethingForATime(); var SecondDate = Date.now(); var result = SecondDate - FirstDate; 或 我在一个非常类似的任务中工作。背后的想法是确定你有两个时段,比方说,你的“夜间”和你想要比较的

夜间时间从22:00到07:00,可能会有所不同(可能是moment.js,但没有具体的实现)。任何提示、其他资源的链接都会有所帮助。提前谢谢您。

您可以这样做

var FirstDate = Date.now();

DoSomethingForATime();

var SecondDate = Date.now();

var result = SecondDate - FirstDate;


我在一个非常类似的任务中工作。背后的想法是确定你有两个时段,比方说,你的“夜间”和你想要比较的时段。如果不是周期,而是将这些间隔视为集合,那么这两个集合之间的交点就是夜间

例如,假设您的时间间隔为
2019-09-30 13:00:00
2019-10-01 08:00:00
(当然使用日期时间)。因此,您的夜间时间是
2019-09-30 22:00:00
2019-10-01 07:00:00
,十字路口是
2019-09-30 22:00:00
2019-10-01 07:00:00
,这实际上是夜间时段,其余时间是白天。一旦你有了时间间隔,你就可以很容易地计算出这个范围内的时间量


你可以用它来帮助你。

你想把你提到的白天和晚上的数字分开吗
moment.js
一个好的选择是
date fns
看这里:你可能会在里面找到一些东西。听起来你可能对太阳计算更感兴趣?它们非常依赖于纬度和经度。试试像这样的图书馆。
var firstDate = new Date("see Date documentation to go furter in custom date");

var secondDate = new Date(customDate);

var milisecondsBetweenDates = secondDate.getTime() - firstDate.getTime();