美文网首页工作生活
【JS】日期时间格式化

【JS】日期时间格式化

作者: 大Q本Q | 来源:发表于2019-07-03 18:26 被阅读0次

    从标准时间,转换到东八区

    /**
     * 格式化日期
     * 调用 formateDate(date, "yyyy-MM-dd hh:mm:ss")
     */
    function formateDate(value, fmt) {
       let tempValue = value.replace("T", " ");
    
       let dateBefore = tempValue.slice(0, 10);    // 2018-06-27
       let timeBefore = tempValue.slice(11, 19);   // 07:15:29
    
       let dateArray = dateBefore.split("-");      // [2018,06,27]
       let timeArray = timeBefore.split(":");      // ["07", "15", "29"]
    
       /*
       * 2018,05,27,07,15,29,0
       * 本地时区的时间戳
       * return 2018.05.27.07.15
       * */
       let feedDate = Date.UTC(dateArray[0], dateArray[1] - 1, dateArray[2], timeArray[0], timeArray[1], 0, 0) + 8 * 60 * 60;
    
       let date = new Date(feedDate);
       var o = {
          "M+": date.getMonth() + 1,                 //月份
          "d+": date.getDate(),                    //日
          "h+": date.getHours(),                   //小时
          "m+": date.getMinutes(),                 //分
          "s+": date.getSeconds(),                 //秒
          "q+": Math.floor((date.getMonth() + 3) / 3), //季度
          "S": date.getMilliseconds()             //毫秒
       };
       if (/(y+)/.test(fmt))
          fmt = fmt.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
       for (var k in o)
          if (new RegExp("(" + k + ")").test(fmt))
             fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
       return fmt;
    }
    

    相关文章

      网友评论

        本文标题:【JS】日期时间格式化

        本文链接:https://www.haomeiwen.com/subject/nnwchctx.html