JS时间戳转换日期、时间戳计算、去除字符串多余逗号、清除对象属性

1 去除多余逗号

        去除多余加号,把 逗号换成加号就行

        removeComma(str) {
            const arr = str.split(',')
            let newArr = []
            arr.map((item) => {
                if (item !== '' && item != undefined) {
                    newArr.push(item)
                }
            })
            newArr = newArr.join(',')
            return newArr
        },

2 时间戳转换日期

// 返回格式 2022-05-09 14:08:49	     
dateFormat(inputTime) {
            var date = new Date(inputTime * 1000) //时间戳为10位需*1000,时间戳为13位的话不需乘1000
            var y = date.getFullYear()
            var m = date.getMonth() + 1
            m = m < 10 ? '0' + m : m
            var d = date.getDate()
            d = d < 10 ? '0' + d : d
            var h = date.getHours()
            h = h < 10 ? '0' + h : h
            var minute = date.getMinutes()
            var second = date.getSeconds()
            minute = minute < 10 ? '0' + minute : minute
            second = second < 10 ? '0' + second : second
            return y + '-' + m + '-' + d + ' ' + h + ':' + minute + ':' + second
        },

3  滞留时间计算

 // 当前时间-开始时间  返回的是 X天X时X分

// 10位时间戳滞留时间计算
/*  13位时间戳
    let days = parseInt(totalTime / (1000 * 60 * 60 * 24));
    let hours = parseInt((totalTime % (1000 * 60 * 60 * 24)) / (1000 * 60 * 60));
    let minutes = parseInt((totalTime % (1000 * 60 * 60)) / (1000 * 60));
    let seconds = (totalTime % (1000 * 60)) / 1000;
*/
export function calculateDiffTime(start_time) {
    if (!parseInt(start_time)) return '-'
    let endTime = Math.round(new Date() / 1000)     //当前时间 10位时间戳需要 除1000
    let timeDiff = endTime - start_time
    let day = parseInt(timeDiff / 86400)
    let hour = parseInt((timeDiff % 86400) / 3600)
    let minute = parseInt((timeDiff % 3600) / 60)
    let seconds = parseInt(timeDiff % 60)

    day = day ? day + '天' : ''
    hour = hour ? hour + '时' : ''
    minute = minute ? minute + '分' : ''
    seconds = seconds ? seconds + '秒' : ''

    let resultSecond = '1分'
    // return day == '' && hour == '' && minute == '' ? seconds : day + hour + minute          // 滞留只有秒时候 只显示秒
    return day == '' && hour == '' && minute == '' ? resultSecond : day + hour + minute       // 滞留只有秒时候 显示为1分

}

4 清除对象属性

  // 有几个条件是我自定义的判断,可以删掉,也可以自己自定义条件
      clearObj(obj) {
            // 判断是不是对象
            if (!Object.prototype.toString.call(obj) == '[object Object]') {
                return false
            }
            for (let key in obj) {
                if (Object.prototype.toString.call(obj[key]) == '[object Object]') {
                    // 处理多级非空对象
                    if (Object.keys(obj[key]).length > 0) {
                        this.clearObj(obj[key])
                    }
                } else if (key == 'nameLabel' || key == 'IDCardLabel' || key == 'phoneLabel') {
                    // obj[key] = obj[key]
                    continue
                } else if (Array.isArray(obj[key])) {
                    // 数组置空
                    obj[key] = []
                } else if (key == 'dmv') {
                    obj[key] = undefined
                } else if (key == 'auth' || key == 'certificate') {
                    obj[key] = 1
                } else {
                    // 其他类型, 如果以下对象没有包含类型的将会是 undefined
                    let dataType = { number: 0, string: '', boolean: false, function: () => {} }
                    let _key = typeof obj[key]
                    obj[key] = dataType[_key]
                }
            }
            return obj
        },

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值