前端时间格式化工具类

/**
 * js方法工具
 */
import moment from 'moment';
module.exports = {

    /**
     * 计算时间差(秒)
     * @param {*} startDate  开始时间
     * @param {*} endDate   结束时间
     */
    calcTotalSecond(startDate, endDate) {
        var timeSub = endDate.getTime() - startDate.getTime();  // 时间差毫秒
        return timeSub / 1000;
    },

    /**
     * 计算相差天数 
     * @param {*} secondSub 时间差(秒)
     */
    formatTotalDateSub(secondSub) {
        var days = Math.floor(secondSub / (24 * 3600));     // 计算出小时数
        var leave1 = secondSub % (24 * 3600);                // 计算天数后剩余的毫秒数
        var hours = Math.floor(leave1 / 3600);              // 计算相差分钟数
        var leave2 = leave1 % (3600);                       // 计算小时数后剩余的毫秒数
        var minutes = Math.floor(leave2 / 60);              // 计算相差秒数
        var leave3 = leave2 % 60;                           // 计算分钟数后剩余的毫秒数
        var seconds = Math.round(leave3);
        return days + " 天 " + hours + " 时 " + minutes + " 分 " + seconds + ' 秒';
    },
    timeConvertDate(timestamp, format) {//时间戳转字符串
        if (format != undefined) {
            return moment(timestamp).format(format);
        }
        return moment(timestamp).format('YYYY/MM/DD');
    },

  convertDateStr(timestamp) {//秒级时间戳转时间字符串
    let d = new Date(timestamp * 1000);
    var date = (d.getFullYear()) + "-" +
      (d.getMonth() + 1) + "-" +
      (d.getDate())
    // + " " +
    // (d.getHours()) + ":" +
    // (d.getMinutes()) + ":" +
    // (d.getSeconds());
    return date;
  },

  convertTime(date) {//将时间对象转换成秒级时间戳
    return parseInt(date.getTime() / 1000);
  },

  strConvertTime(dateStr) {//将时间字符串转时间戳(秒级)
    dateStr = dateStr.substring(0, 19);
    dateStr = dateStr.replace(/-/g, '/');
    let timeMs = new Date(date).getTime();
    let timestamp = timeMs.substring(0, timeMs.length - 3);
    return timestamp;
  },

  UTCConvertBJDate(dateTime) {//将格林威治时间转北京时间
    return new Date(new Date(dateTime).getTime() + 3600 * 8 * 1000);
  },

  BJDateConvertUTC(dateTime) {//将北京时间转格林威治时间
    return new Date(new Date(dateTime).getTime() - 3600 * 8 * 1000);
  },

}

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值