//vue3之内
<script setup>
import {onMounted} from 'vue'
const getTimeDiff =(startTimestamp,endTimestamp) => {
const diff = endTimestamp - startTimestamp;//传进来两个时间戳(单位为毫秒),结束时间减去开始时间得到一个时间戳的差值
//计算得到一天,一小时,一分钟分别是多少毫秒
const msInDay = 1000 * 60 * 60 * 24;
const msInHour = 1000 * 60 * 60;
const msInMinute = 1000 * 60;
//对diff和msInDay,msInHour ,msInMinute 分别进行比较和判断,然后进行相应计算
if (diff < msInMinute) {
return `${diff / 1000} 秒`;//最小单位为秒,所以不足一分钟的时候就返回diff/1000 得到秒数
} else if (diff < msInHour) {
const minutes = Math.floor(diff / msInMinute);//此时diff小于一小时,先计算得出分钟
const seconds = Math.round((diff % msInMinute) / 1000);//在计算除分钟之外的秒数
return `${minutes} 分钟 ${seconds} 秒`;
} else if (diff < msInDay) {
const hours = Math.floor(diff / msInHour);//得到diff含有多少小时小时
const minutes = Math.floor((diff % msInHour) / msInMinute);//得到此时diff含有多少分钟
const seconds = Math.round((diff % msInMinute) / 1000);//得到秒数
return `${hours} 小时 ${minutes} 分钟 ${seconds} 秒`;//返回拼接字符串
} else {
const days = Math.floor(diff / msInDay);
const hours = Math.floor((diff % msInDay) / msInHour);
const minutes = Math.floor((diff % msInHour) / msInMinute);
const seconds = Math.round((diff % msInMinute) / 1000);
return `${days} 天 ${hours} 小时 ${minutes} 分钟 ${seconds} 秒`;
}
}
onMounted(() => {
//调用
const getTime = getTimeDiff(startTimestamp,endTimestamp)
})
<script>
js计算结束时间减去开始时间
最新推荐文章于 2024-07-11 18:00:32 发布