求2021-07-28T06:12:29.276Z 类格式的时间 与 现在时间的 距离

1. 转换为 2021-8-29 2:25:46 格式


   let date ='2021-08-29T02:25:46.883Z'
   const arr = date.split('T');
    //  得到 年月日的 数组
    const d = arr[0];   //2021-08-29
    const darr = d.split('-'); // [2021,08,29]

    // 得到 时分秒的数组 
    const t = arr[1];
    const tarr = t.split('.000');
    const marr = tarr[0].split(':'); //[02,25,46.883Z]

    // 拼接为标准的时间格式 :
    const dd =
      parseInt(darr[0]) +  '-' +   parseInt(darr[1]) +  '-' +  parseInt(darr[2]) +
      ' ' +
      parseInt(marr[0]) +   ':' +  parseInt(marr[1]) + ':' +  parseInt(marr[2]);
      

2. 将时间 转换为 毫秒差的形式,便于计算

getTime( ) 获取北京时间1970年01月01日08时00分00秒起至现在东八区时间的总毫秒数
  let common=  new Date(dd).getTime() 
  let  now = new Date().getTime()
  // 获得差值:
  let cha = now -common

3.计算差值中还有几个 年 月 日

    //  将 年月日时分秒 的一单位  转换为 毫秒数
     let minute = 1000 * 60;
     let hour = minute * 60;
     let day = hour * 24;
     let halfamonth = day * 15;
     let month = day * 30;
     let year = day * 365;
    if (cha < 0) {
      return;
     }
    let monthEnd = parseInt(cha / month);
    let weekEnd = parseInt(cha / (7 * day));
    let dayEnd = parseInt(cha / day);
    let hourEnd = parseInt(cha / hour);
    let minEnd = parseInt(cha / minute);
    let yearEnd =parseInt( cha / year);
    
    if (yearEnd >= 1) {
      result = dateTime;
    } else if (monthEnd >= 1) {
      result = "" + monthEnd + "月前";
    } else if (weekEnd >= 1) {
      result = "" + weekEnd + "周前";
    } else if (dayEnd >= 1) {
      result = "" + dayEnd + "天前";
    } else if (hourEnd >= 1) {
      result = "" + hourEnd + "小时前";
    } else if (minEnd >= 1) {
      result = "" + minEnd + "分钟前";
    } else {
      result = "刚刚";
    }

over …

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值