关键词

全面兼容的javascript时间格式化函数(比较实用)

全面兼容的javascript时间格式化函数(比较实用)

1. 功能介绍

本文将介绍如何编写一个全面兼容的 JavaScript 时间格式化函数。该函数可以将时间格式化为指定的字符串,并且兼容 IE 6 及以上的浏览器。

2. 编写步骤

2.1 定义函数

首先,我们需要定义一个函数来进行格式化。该函数的参数为需要格式化的时间和格式化字符串,返回值为格式化后的字符串。

function formatDate(date, fmt) {

}

2.2 编写逻辑

接下来,我们需要编写格式化逻辑。根据所需要格式化的字符串中的字符,我们可以区分不同的时间部分,例如年份、月份、日、小时、分钟、秒等。

function formatDate(date, fmt) {
  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;
}

2.3 示例

var date = new Date();

console.log(formatDate(date, "yyyy-MM-dd")); // 输出:2021-08-20
console.log(formatDate(date, "yyyy-MM-dd hh:mm:ss")); // 输出:2021-08-20 12:30:22

3. 总结

通过本文的学习,您已经掌握了如何编写一个全面兼容的 JavaScript 时间格式化函数。通过传入不同的时间和格式化字符串,该函数可以快速地将时间格式化为指定的字符串。同时,该函数还兼容了 IE 6 及以上的浏览器,是非常实用的代码。

本文链接:http://task.lmcjl.com/news/9723.html

展开阅读全文