javascript - 如何计算当前日期与创建日期的剩余时间?
问题描述
我需要计算到未来某个时间点的剩余时间。我new Date()
用来获取当前日期,例如:
Fri Oct 09 2020 09:59:21 GMT+0200 (Central European Summer Time)
我如何计算直到此时对象的剩余时间:
{
appointment_date: "Tue Oct 20 2020"
appointment_hour: "08:00 - 09:00"
}
我想以月、周、日等形式显示它。如果它们为零,则应省略。
解决方案
你可以用moment.duration()
这个。
const appointment = {
appointment_date: "Tue Oct 20 2020",
appointment_hour: "08:00 - 09:00"
};
const appointmentString = appointment.appointment_date + " " + appointment.appointment_hour.split(' - ')[0];
const difference = moment.duration(
moment(appointmentString, "ddd MMM DD YYYY HH:mm").diff(moment()));
const result = [];
const units = [
"months",
"weeks",
"days",
"hours",
"minutes",
"seconds"
];
units.forEach(function(unit) {
// This is equal to difference.months() > 0, difference.weeks() > 0, etc
if (difference[unit]() > 0) {
result.push(difference[unit]() + " " + unit);
}
});
console.log(result.join(', '));
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.29.1/moment.min.js"></script>
推荐阅读
- csv - 需要将数据添加到 CSV,而不需要在数据中添加逗号
- python - 我们可以使用 Python 脚本来创建评论吗?
- mpi - 我可以使用 mpiexec 为可执行文件每次使用不同的命令行参数运行相同的可执行文件吗?
- html - 如何将导航栏扩展到屏幕边缘?
- android - Android:如何在弹出窗口中显示 wifi 设置
- java - 无法为我的 git 添加 URL 到我的 intelliji
- r - 使用 gsub 删除字符串但不是数字
- docker - Docker 找不到 main.go
- protractor - 如何在量角器中获得第三个 h1 值
- python - Html/Django - 从磁盘故障加载静态图像