一。第一种:月份从0开始计算
const dataTime = ref("0");
// 构造指定日期的Date对象(月份从0开始计数,所以1表示一月)
var startDate = new Date(2022, 5, 1);
console.log(startDate.toLocaleDateString());
// 获取当前日期时间的Date对象
var currentDate = new Date();
// 计算时间间隔(单位:毫秒)
var timeDifference = currentDate.getTime() - startDate.getTime();
// 将时间间隔转换为天数、小时数、分钟数和秒数
var days = Math.floor(timeDifference / (1000 * 60 * 60 * 24));
var hours = Math.floor(timeDifference / (1000 * 60 * 60)) % 24;
var minutes = Math.floor(timeDifference / (1000 * 60)) % 60;
var seconds = Math.floor(timeDifference / 1000) % 60;
// 输出结果
console.log("从" + startDate.toLocaleDateString() + "到" + currentDate.toLocaleDateString());
console.log("时间间隔" + days + "天" + hours + "小时" + minutes + "分钟" + seconds + "秒");
二。第二种:输入指定时间
// 获取用户输入的日期字符串
const dateStr = "2022-5-1";
// 将日期字符串转换为 Date 对象
var startDate;
if (dateStr !== null) {
startDate = new Date(dateStr);
} else {
startDate = new Date(); // 如果 dateStr 为 null,则使用当前日期作为起始日期
}
// 获取当前日期的 Date 对象
var currentDate = new Date();
// 计算时间间隔(单位:毫秒)
var timeDifference = currentDate.getTime() - startDate.getTime();
// 将时间间隔转换为天数
var days = Math.floor(timeDifference / (1000 * 60 * 60 * 24));
// 输出结果
console.log("从 " + startDate.toLocaleDateString() + " 到 " + currentDate.toLocaleDateString());
console.log("时间间隔:" + days + " 天");