美文网首页
日期、时间格式化封装

日期、时间格式化封装

作者: Rising_life | 来源:发表于2019-12-16 09:30 被阅读0次

日期、时间格式化封装

/**

 * @description: 格式化日期时间

 * @param {string} formatDate 日期时间格式:

 * 年 YYYY , 月 MM , 日 DD , 季度 q

 * 周 WW , 星期 WWW

 * 时 hh , 分 mm , 秒 ss , 毫秒 hs

 * @param {date} date  new Date()对象

 * @return {string} formatDate 格式化的日期时间

 */

function dateFormat(formatDate, date) {

  var xingQi = [ "星期天", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六" ];

  var weeke = ["周日", "周一", "周二", "周三", "周四", "周五", "周六"];

  //   var weekeys = date.getDay();

  var dateTime = {

    "M+": date.getMonth() + 1, //月份

    "D+": date.getDate(), //日

    "h+": date.getHours(), //小时

    "m+": date.getMinutes(), //分

    "s+": date.getSeconds(), //秒

    hs: date.getMilliseconds(), //毫秒

    "q+": Math.floor((date.getMonth() + 3) / 3) //季度

  };

  // 年

  if (/(Y+)/.test(formatDate)) {

    formatDate = formatDate.replace(

      RegExp.$1,

      (date.getFullYear() + "").substr(4 - RegExp.$1.length)

    );

  }

  //星期、周

  if (/(W+)/.test(formatDate)) {

    if (RegExp.$1.length === 3) {

      formatDate = formatDate.replace(RegExp.$1, xingQi[date.getDay()]);

    }

    if (RegExp.$1.length === 2) {

      formatDate = formatDate.replace(RegExp.$1, weeke[date.getDay()]);

    }

  }

  //时间

  for (var key in dateTime)

    if (new RegExp("(" + key + ")").test(formatDate))

      formatDate = formatDate.replace(

        RegExp.$1,

        RegExp.$1.length == 1

          ? dateTime[key]

          : ("00" + dateTime[key]).substr(("" + dateTime[key]).length)

      );

  return formatDate;

}

调用

/**

 * @description: 当前日期 年-月-日  星期

 * @param {type} 

 * @return {string} currentDate 格式化的日期 

 */

function currentDate() {

  var date = new Date();

  var currentDate =

    dateFormat("YYYY-MMM-DD", date) + " " + dateFormat("WWW", date);

  console.log(currentDate);

  return currentDate;

}

相关文章

网友评论

      本文标题:日期、时间格式化封装

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