当我们需要在网页中显示时间的时候,通常需要用到格式化时间的函数,而JavaScript是一门非常有用的语言。下面让我来为您讲解如何使用JavaScript实现时间格式输出,步骤如下:
步骤1:创建一个FormatDate函数
首先我们需要创建一个函数来实现对时间进行格式化输出。可以为这个函数传入两个参数- 时间对象和一个时间格式字符串。
function FormatDate(date, fmt) {
}
步骤2:使用正则表达式替换时间格式
我们需要通过正则表达式来替换时间格式字符串中的时间标识符。下面是一些常用的时间标识符以及它们的意义:
时间标识符 | 含义 |
---|---|
yyyy | 年 |
MM | 月 |
dd | 日 |
HH | 时 |
mm | 分 |
ss | 秒 |
SSS | 毫秒 |
我们要将时间格式字符串中的时间标识符替换成对应的时间值。下面是一个示例,可以将年月日时分秒毫秒分别输出:
function FormatDate(date, fmt) {
var o = {
"M+": date.getMonth() + 1, // month
"d+": date.getDate(), // day
"H+": date.getHours(), // hour
"m+": date.getMinutes(), // minute
"s+": date.getSeconds(), // second
"q+": Math.floor((date.getMonth() + 3) / 3), // quarter
"S": date.getMilliseconds() // millisecond
};
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;
}
上面的方法使用了一个正则表达式,它匹配所有以“y+”开头的字符串,捕获其中的“y”的个数$RegExp.$1$,再用日期的getFullYear()方法得到完整的年份,使用字符串的substr()方法截取字符串的末尾。
步骤3:使用FormatDate函数进行时间格式化
现在,您已经可以使用FormatDate函数格式化输出时间啦!下面是一个示例,它将当前时间以“年-月-日 时:分:秒”的格式输出:
var now = new Date();
var nowStr = FormatDate(now, "yyyy-MM-dd HH:mm:ss");
console.log(nowStr);
输出结果:
2022-01-17 18:34:02
下面再提供一个示例,它将输出当前时间的月份和小时:
var now = new Date();
var nowStr = FormatDate(now, "MM月 HH");
console.log(nowStr);
输出结果:
01月 18
以上就是JavaScript实现时间格式输出的完整攻略。希望能对您有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript实现时间格式输出FormatDate函数 - Python技术站