js时间的各种格式

  • 时间转为指定格式,如:YYYY-mm-dd HH:MM表示2020-09-22 11:45
    function dateFormat(fmt, date) {
        let ret;
        const opt = {
            "Y+": date.getFullYear().toString(),        // 年
            "m+": (date.getMonth() + 1).toString(),     // 月
            "d+": date.getDate().toString(),            // 日
            "H+": date.getHours().toString(),           // 时
            "M+": date.getMinutes().toString(),         // 分
            "S+": date.getSeconds().toString()          // 秒
            // 有其他格式化字符需求可以继续添加,必须转化成字符串
        };
        for (let k in opt) {
            ret = new RegExp("(" + k + ")").exec(fmt);
            if (ret) {
                fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
            };
        };
        return fmt;
    }
    
    let date = new Date()
    dateFormat("YYYY-mm-dd HH:MM", date)
    // "2020-09-22 11:16"
  •    时间转为时间戳
    let date = new Date()
    
    let time1 = date.getTime()
    
    //1600744984846
    let time2 = date.valueOf()
    
    //1600744984846
    let time3 = Date.parse(date)
    
    //1600744984000
    //前两种方法可以精确到毫秒。第三种方法将毫秒替代为000。注意:获取到的时间戳除以1000就可获得Unix时间戳,就可传值给后台得到。

     

  •  时间转为时区时间 
    //oISOString() 方法可以使用ISO标准将 Date 对象转换为字符串。
    
    // 该标准称为 ISO-8601 ,格式为: YYYY-MM-DDTHH:mm:ss.sssZ
    
    let date = new Date()
    
    date.toISOString()
    // "2020-09-22T06:04:29.880Z"
    
    // 精确到秒
    let time1=new Date(+date.getTime()+8*3600*1000).toISOString()
    
    // "2020-09-22T14:09:31.725Z"
©️2020 CSDN 皮肤主题: 终极编程指南 设计师:CSDN官方博客 返回首页