前端时间格式化方法

该文章提供了两个JavaScript函数,分别用于将时间十三位转换为标准日期格式(YYYY-MM-DDhh:mm:ss)和将时间戳转换为描述性的多久前格式,如1个月前或5分钟前。这两个函数适用于前端开发中对时间显示的处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
 * 时间十三位转换
 */
function dateFormat(value) {
    var date = new Date(value);
    const Y = date.getFullYear() + '-';
    const M = (date.getMonth() + 1 < 10 ? '0' + (date.getMonth() + 1) : date.getMonth() + 1) + '-';
    const D = (date.getDate() < 10 ? '0' + date.getDate() : date.getDate()) + ' ';
    const h = (date.getHours() < 10 ? '0' + date.getHours() : date.getHours()) + ':';
    const m = (date.getMinutes() < 10 ? '0' + date.getMinutes() : date.getMinutes()) + ':';
    const s = (date.getSeconds() < 10 ? '0' + date.getSeconds() : date.getSeconds());
    return Y + M + D + h + m + s;
}

/**
 * 时间十三位转换为多久前
 */
function time(value) {
    const time = Date.now() - new Date(value)
    /*
      1秒 1000
      1分钟 1000 * 60 60000
      1小时 1000 * 60 * 60 3600000
      1天 1000 * 60 * 60 * 24 86400000
      1个月 1000 * 60 * 60 * 24 * 30 2592000000
      1年 1000 * 60 * 60 * 24 * 365 31536000000
    */

    const times = [31536000000, 2592000000, 86400000, 3600000, 60000, 1000]
    const units = ['年前', '月前', '天前', '小时前', '分钟前', '秒前']

    for (let i = 0; i < times.length; i++) {
        const res = time / times[i]
        if (res >= 1) {
            return Math.round(res) + units[i]
        }
    }

}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一只努力的笨笨熊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值