JS 时间处理

注 new Date() 获取到的是客户端时间 所以实时时间还是要从服务端获取

建议疯转方法 便随时调用

let date = new Date()

JS 获取当前时间

console.log(date)

JS 获取当前13位时间戳

console.log(date)

JS 获取当前10位时间戳

console.log(Math.round(date / 1000))

JS 获取当前年份

console.log(date.getFullYear())

JS 获取当前月份

console.log(date.getMonth()+1)

注:月份开始是从0开始的所以需要在获取时+1

JS获取当前天数

console.log(date.getDay())

JS获取当前月份的最后一天

console.log(date.getFullYear() + '-' + (date.getMonth()+1) + '-' +date(date.getFullYear(),date.getMonth()+1,0).getDate() + ' ' + '23:59:59')

JS 获取当前月份的第一天

console.log(date.getFullYear() + '-' + date.getMonth() + '-' + '01')

JS获取当前时间前一天

console.log(date.getFullYear() + '-' + date.getMonth() + '-' + date.getDay()-1)

JS获取当前时间后一天

console.log(date.getFullYear() + '-' + date.getMonth() + '-' + date.getDay()+1)

const timedate = () => {
      let time = new Date();
      let times = +new Date();
      let oldTime = +new Date('2022.01.01 00:00:00')
      let NewTime = Math.round((times - oldTime) / 1000)
      let leave = Math.floor(NewTime / (24 * 3600))
      // let leaveHours = Math.floor(leave/(3600))
      window.console.log(leave)
      state.Totime = time.toLocaleString();
      // state.time = time.getFullYear() + '.' + (time.getMonth() + 1) + '.' + 
      time.getDay() + ' ' + time.getHours() + ':' + time.getMinutes() + ':' + 
      time.getSeconds()
      var date1 = (time.getFullYear()) + '.01.01 00:00:00';  //开始时间
      var date2 = new Date();    //结束时间
      var date3 = new Date(date1).getTime() - date2.getTime();   //时间差的毫秒数     
      //计算出相差天数
      var days = String(Math.floor(date3 / (24 * 3600 * 1000))).substring(1)

      //计算出小时数

      var leave1 = date3 % (24 * 3600 * 1000)    //计算天数后剩余的毫秒数
      var hours = String(Math.floor(leave1 / (3600 * 1000))+1).substring(1)
      //计算相差分钟数
      var leave2 = leave1 % (3600 * 1000)        //计算小时数后剩余的毫秒数
      var minutes =String( Math.floor(leave2 / (60 * 1000))+1).substring(1)
      //计算相差秒数
      var leave3 = leave2 % (60 * 1000)      //计算分钟数后剩余的毫秒数
      var seconds = String(Math.round(leave3 / 1000)+1).substring(1)
      state.time = days + '天' + hours + '小时' + minutes + '分钟' + seconds + '秒'
      setTimeout(() => {
        timedate()
      }, 1000);
    }

方法封装

/**
 * @params js获取服务器时间  非本地时间
 */
export function showDate() {
  return new Promise((resolve, reject) => {
    var xhr: any = new XMLHttpRequest();
    let url = ""
    xhr.open("GET", url, true);
    // xhr.setRequestHeader('Accept', 'application/headers');
    // 发送请求  
    xhr.send();
    // 监听请求完成事件  
    xhr.onload = function () {
      // 检查响应状态码  
      if (xhr.status === 200) {
        resolve(Number(new Date(xhr.responseXML.lastModified)))
      } else {
        console.error('请求失败:', xhr.status);
      }
    };

  })
}

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值