美文网首页工作生活
【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