JS格式化时间戳

JS格式化时间戳

    • 前言
    • 实例


前言

有的时候需要在前端,将时间戳转化为指定格式的日期格式,又或者我们需要截取一部分时间拼进主键。博主特地总结了一下自己的方法,直接看实例代码


实例

  /**
     * 将时间戳转化为年 月 日 时 分 秒
     * timestamps: 传入的时间戳
     * format:返回格式,支持自定义,如:
     * yyyy-mm-dd hh:mi:ss SSS
     * yyyy/mm/dd hh:mi:ss SSS
     * 获取日期格式字符串作为主键:yyyymmddhhmissSSS
     */
    function formatTime(timestamps, format) {
     
        var date = new Date(timestamps);
        var finalstr=format;
        finalstr=finalstr.replace('yyyy', date.getFullYear());//年
        finalstr=finalstr.replace('mm', formatNum(date.getMonth() + 1));//月
        finalstr=finalstr.replace('dd', formatNum(date.getDate()));//天
        finalstr=finalstr.replace('hh',formatNum(date.getHours()));//时
        finalstr=finalstr.replace('mi', formatNum(date.getMinutes()));//分
        finalstr=finalstr.replace('ss', formatNum(date.getSeconds()));//秒
        finalstr=finalstr.replace('SSS', formatMilliseconds(date.getMilliseconds()));//毫秒
        //如果不想返回秒和毫秒,注释掉相应行数,传入参数时去掉该参数
        return finalstr;
    }

    //月,天,时,分,秒不足补位,
    // 返回的值是一个两位的数字。不过返回值不总是两位的,如果该值小于 10,则仅返回一位数字
    //如00点,只会返回一个数字0;6:00正的分钟数返回的是一个0
    function formatNum(arg0) {
     
        let str = arg0.toString();
        if (str.length == 1) {
     
            return "0" + str;
        } else {
     
            return str;
        }
    }

    //毫秒补位
    function formatMilliseconds(arg) {
     
        var str = arg.toString();
        if (str.length == 1) {
     
            return "00" + str;
        } else if (str.length == 2) {
     
            return "0" + str;
        } else if (str.length == 3) {
     
            return str;
        }
    }

    var sjc = new Date();//获取当前时间
    var sjc2 = sjc.getTime();//获取当前时间戳
    console.log("时间戳=="+sjc2);
    console.log("格式1=="+formatTime(sjc, 'yyyy-mm-dd hh:mi:ss SSS'));
    console.log("格式2=="+formatTime(sjc, 'yyyymmddhhmissSSS'));

运行结果截图:
JS格式化时间戳_第1张图片

创作不易,如果这篇文章能够帮助到你,希望能关注或收藏一下博主,如果文章内容有问题也可留言讨论,我们一起学习,一起进步!!

你可能感兴趣的:(java,web,javascript,js)