微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

dayjs 天和小时两个日期之间的差异

如何解决dayjs 天和小时两个日期之间的差异

我想用 dayjs 库计算两个日期之间的差异。它工作得很好,但我需要一些不同的东西。例如:

`${dayjs(item).diff(Now,'day') day}`

函数返回“20 天”或其他任何值。但是有些时间没有在“项目”中计算。我的意思是应该是“20 天 9 小时”。

我如何用 dayjs 做到这一点?

感谢您的帮助

解决方法

  1. 获取小时差
  2. 按 24 小时划分(并取整)小时以获得天数
  3. 得到剩余的时间,这些是剩下的时间

const date1 = dayjs('2021-03-13');
const date2 = dayjs();

let hours = date2.diff(date1,'hours');
const days = Math.floor(hours / 24);
hours = hours - (days * 24);

console.log('Days: ',days);
console.log('Hours: ',hours);
<script src="https://unpkg.com/dayjs@1.8.21/dayjs.min.js"></script>


可以使用秒来完成相同的逻辑,然后应用一个函数将这些秒转换为天/小时/分钟:Convert seconds to HH-MM-SS with JavaScript?

,

您可以获得带小数的天数(将 true 作为第二个参数添加到 diff 并使用它:

const date1 = dayjs('2021-03-13');
const date2 = dayjs();
const diff = date2.diff(date1,'day',true);
console.log("obtained",diff);
const days = Math.floor(diff);
const hours = Math.floor((diff - days) * 24);
console.log(`${days} days,${hours} hours`);
<script src="https://unpkg.com/dayjs@1.8.21/dayjs.min.js"></script>

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。