不同手机对于字符串转换成日期处理不一样
发布于 6 年前 作者 vcai 3261 次浏览 来自 问答

pc 及小米手机

苹果7p和魅族Pro5

3 回复

如果字符串是“2018-09-03”的话,建议先把“-”替换成“/”再交给js处理。

嗯,被坑过

 

         /*

     longTime : Unix时间戳ms

     fmt : “YYYY-MM-DD hh:mm:ss”

     */

    

            formatDate: function (longTime, fmt) {

     let date = new Date(longTime);

     if(/(y+)/.test(fmt)){

     fmt = fmt.replace(RegExp.$1,(date.getFullYear()+’’).substr(4-RegExp.$1.length));

     }

     let o = {

     ‘M+’:date.getMonth() + 1,

     ‘d+’:date.getDate(),

     ‘h+’:date.getHours(),

     ‘m+’:date.getMinutes(),

     ‘s+’:date.getSeconds()

     };

    

     // 遍历这个对象

     for(let k in o){

     if(new RegExp(`(${k})`).test(fmt)){

     let str = o[k] + ‘’;

     fmt = fmt.replace(RegExp.$1,(RegExp.$1.length===1)?str :(‘00’+str).substr(str.length) );

     }

     }

     return fmt;

     },

回到顶部