jsvascript中计算时间戳,相差天数,小时,分钟,秒


```html
DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Documenttitle>
head>
<body>
  <script>
    // Java与Javascript的旧日期时间戳偏差(3600秒)
    // https://www.codenong.com/9802332/

    // 只要对时间戳进行处理都需要 * 1000
    // 处理小时 * 24
    // 时间戳差 * 3600

    function intervalTime(startDate = '2023-08-16 12: 12: 12', endDate = '2023-08-18 13: 13: 13') {
      //var endDate='2022-05-05 21:58:59'   //尽量让服务端传时间戳,能够有效避免时区问题
      debugger
      var date1 = Date.parse(new Date(startDate));//计算当前时间戳 
      var date2 = Date.parse(new Date(endDate)); //自动收货的时间戳 (字符串转时间戳)
      var date3 =  date2- date1 //时间差的毫秒数
      //计算出相差天数
      var days = Math.floor(date3 / (24 * 3600 * 1000)); // 一天24小时 每天会有 3600秒偏差
      var days2 = Math.floor(date3 / (24 * 3600)); // 一天24小时 每天会有 3600秒偏差
      console.log('计算出相差天数')
      console.log('days:' ,days, 'days2:', days2)

      //计算出小时数
      var leave1 = date3 % (24 * 3600 * 1000); //计算天数后剩余的毫秒数
      var leave2 = date3 % (24 * 3600); //计算天数后剩余的毫秒数
      console.log('计算天数后剩余的毫秒数')
      console.log('leave1:', leave1, 'leave2:', leave2)

      var hours = Math.floor(leave1 / (3600 * 1000));
      var hours2 = Math.floor(leave1 / (3600));
      console.log('计算出小时数')
      console.log('hours:', hours, 'hours2:', hours2)

      //计算相差分钟数
      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 + "小时 ")
      console.log(days + "天 " + hours + "小时 " + minutes + " 分钟" + seconds + " 秒");
      return   days + "天 " + hours + "小时 "
    }
    intervalTime()
  script>
body>
html>

你可能感兴趣的:(前端,javascript)