js计算两个时间戳的时间差之多少天、时、分、秒,格式0000、动态显示年月日时分秒(不足两位补0)

js计算两个时间戳的时间差之多少天、时、分、秒,格式00:00、00:00:00、动态显示年月日时分秒(不足两位补0)

实例1-几天几小时几分钟几秒

src\utils\utils.ts

几天几小时几分钟几秒

1、定义方法

//计算两个时间之间的时间差 多少天时分秒
function intervalTime(startTime,endTime) {
    // var timestamp=new Date().getTime(); //计算当前时间戳
    var timestamp = (Date.parse(new Date()))/1000;//计算当前时间戳 (毫秒级)
     var date1 = ""; //开始时间
    if(timestamp<startTime){
        date1=startTime;
    }else{
        date1 = timestamp; //开始时间
    }
    var date2 = endTime; //结束时间
    // var date3 = date2.getTime() - date1.getTime(); //时间差的毫秒数
    var date3 =  (date2- date1)*1000; //时间差的毫秒数
    //计算出相差天数
    var days = Math.floor(date3 / (24 * 3600 * 1000));
    //计算出小时数

    var leave1 = date3 % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
    var hours = Math.floor(leave1 / (3600 * 1000));
    //计算相差分钟数
    var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数
    var minutes = Math.floor(leave2 / (60 * 1000));

    //计算相差秒数

    var leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数
    var seconds = Math.round(leave3 / 1000);
    console.log(days + "天 " + hours + "小时 ")
    // return   days + "天 " + hours + "小时 " + minutes + " 分钟" + seconds + " 秒"
    return   days + "天 " + hours + "小时 "
}

2、暴露给外部调用

module.exports = {
    intervalTime
}

3、其他页面导入

import {
    intervalTime
} from "@/common/util.js"

4、data中声明

 data() {
     return {
        intervalTime:intervalTime
     };
},

5、页面中使用

<view class="cu-tag bg-green light sm round">     {{intervalTime(dataItem.volunteer_start_time,dataItem.volunteer_end_time)}}
</view>

6、效果

在这里插入图片描述

注意:后面如果自己需分、秒,自己同理加上去。

实例2、动态显示年月日时分秒(不足两位补0)

1、

<html>
    <head>
        <meta http-equiv="Content-Type” content="text/html; charset=gb2312">
        <title>动态显示年月日星期时分秒</title>
        <script type="text/javascript">
            var days = new Array("日", "一", "二", "三", "四", "五", "六");
            function showDT() {
                var currentDT = new Date();
                var y, m, date, day, hs, ms, ss, theDateStr;
                y = currentDT.getFullYear(); //四位整数表示的年份
                m = currentDT.getMonth() + 1; //月
                date = currentDT.getDate(); //日
                day = currentDT.getDay(); //星期
                hs = currentDT.getHours(); //时
                ms = currentDT.getMinutes(); //分
                ss = currentDT.getSeconds(); //秒
                theDateStr =
                    y +
                    "年" +
                    m +
                    "月" +
                    date +
                    "日 星期" +
                    days[day] +
                    " " +
                    hs +
                    ":" +
                    ms +
                    ":" +
                    ss;
                document.getElementById("theClock").innerHTML = theDateStr;
                // setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
                window.setTimeout(showDT, 1000);
            }
        </script>
    </head>
    <body onload="showDT()">
        <div id="theClock" style="font-weight: bold; width: 300px"></div>
    </body>
</html>

补0

    <body οnlοad="showDT()">
        <div id="theClock" style="font-weight: bold; width: 300px"></div>
    </body>
    <script>
        function showDT() {
            var date = new Date();
            //年
            var year = date.getFullYear();
            //月
            var month =
                date.getMonth() + 1 < 10
                    ? "0" + (date.getMonth() + 1)
                    : date.getMonth() + 1;
            //日
            var day =
                date.getDate() < 10 ? "0" + date.getDate() : date.getDate();
            //时
            var hh =
                date.getHours() < 10 ? "0" + date.getHours() : date.getHours();
            //分
            var mm =
                date.getMinutes() < 10
                    ? "0" + date.getMinutes()
                    : date.getMinutes();
            //秒
            var ss =
                date.getSeconds() < 10
                    ? "0" + date.getSeconds()
                    : date.getSeconds();

            var nowTime =
                year + "-" + month + "-" + day + " " + hh + ":" + mm + ":" + ss;

            nowTime =
                year +
                "年" +
                month +
                "月" +
                day +
                "日" +
                " " +
                hh +
                ":" +
                mm +
                ":" +
                ss;
            document.getElementById("theClock").innerHTML = nowTime;
            // setTimeout 在执行时,是在载入后延迟指定时间后,去执行一次表达式,仅执行一次
            window.setTimeout(showDT, 1000);
        }
    </script>

// 用这两句代码替换,能得到的补零效果
var hour = ('0' + date.getHours()).slice(-2);
var hour = date.getHours() < 10 ? ('0' + date.getHours()) : date.getHours();

// 三元表达式
function add0(time){
   if(time<10){
         time = ""+"0"+time;
    }
   return time;
  }

效果

在这里插入图片描述

实例3、格式00:00

1、定义方法

src\utils\utils.ts

//将时间戳-毫秒转为分秒  00:00
export const  formatSeconds = (value:number) => { // value: 205223
  var millisecond = value % (24 * 3600 * 1000); //计算时间戳转换的的毫秒数
  //计算相差分钟数
  var num1 = millisecond % (3600 * 1000); //计算小时数后剩余的毫秒数
  var minutes = Math.floor(num1 / (60 * 1000)) < 10  ? "0" + Math.floor(num1 / (60 * 1000)) :Math.floor(num1 / (60 * 1000));  // 0~9前补0
  //计算相差秒数
  var num2 = num1 % (60 * 1000); //计算分钟数后剩余的毫秒数
  var seconds = Math.round(num2 / 1000) < 10 ? "0" + Math.round(num2 / 1000) : Math.round(num2 / 1000);
  return minutes + ':'+ seconds
}

2、页面使用

index.vue

<template>
   <div v-for="(item, index) in newSongList" :key="item.id">
         <!-- 数组排序补0 -->
        <span>{{ index+ 1 < 10 ? '0' + `${index + 1}` : `${index + 1}`}}</span>
        <!-- playTime: 205223 -->
     <span>{{ formatSeconds(item.bMusic.playTime) }}</span>
    </div>
</template>
<script lang="ts" setup>
import { formatSeconds } from '@/utils/utils'
</script>

3、效果

在这里插入图片描述

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值