📅  最后修改于: 2023-12-03 15:26:42.751000             🧑  作者: Mango
JavaScript中,我们经常需要对日期进行格式化输出,例如将日期改为“年-月-日”、“月/日/年”等不同的格式。本文将介绍如何使用JavaScript对日期进行格式化输出。
在JavaScript中,我们使用Date()
对象来获取当前日期和时刻。Date()
返回的是一个当前日期时刻的对象。我们可以使用以下三种方式来获取当前日期和时刻:
// 第一种方式,获取当前日期和时刻
var date1 = new Date();
console.log(date1); // 输出当前日期时刻
// 第二种方式,获取当前日期和时刻
var date2 = Date.now();
console.log(date2); // 输出当前时间戳
// 第三种方式,获取当前日期和时刻
var date3 = new Date().getTime();
console.log(date3); // 输出当前时间戳
Date()
对象会根据实际情况自动转换为本地时间。例如,当我们在中国使用Date()
对象获取当前日期时刻时,他会自动加上8小时的时差,得到UTC+8时区的时间。
获取到当前日期时刻对象后,我们需要对他进行格式化输出。JavaScript中,我们可以使用以下方法来对日期时刻进行格式化输出:
// 定义一个格式化输出函数
function dateFormatter(date, format) {
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(format)) format = format.replace(RegExp.$1, (date.getFullYear() + "").substr(4 - RegExp.$1.length));
for (var k in o)
if (new RegExp("(" + k + ")").test(format)) format = format.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" + o[k]).substr(("" + o[k]).length)));
return format;
}
// 使用格式化输出函数
var date = new Date();
console.log(dateFormatter(date, "yyyy-MM-dd hh:mm:ss")); // 输出格式化后的日期时刻
上述代码中,我们定义了dateFormatter()
函数用于格式化输出日期时刻,可以自定义输出日期时刻的格式。例如,"yyyy-MM-dd hh:mm:ss"
表示输出的日期格式为“年-月-日 时:分:秒”。
在JavaScript中,我们可以使用以下方法对日期进行计算:
// 定义一个计算日期的函数
function dateAdd(date, interval, units) {
var ret = new Date(date); // 复制当前日期对象
switch (interval.toLowerCase()) {
case "year":
ret.setFullYear(ret.getFullYear() + units);
break;
case "quarter":
ret.setMonth(ret.getMonth() + 3 * units);
break;
case "month":
ret.setMonth(ret.getMonth() + units);
break;
case "week":
ret.setDate(ret.getDate() + 7 * units);
break;
case "day":
ret.setDate(ret.getDate() + units);
break;
case "hour":
ret.setTime(ret.getTime() + units * 3600000);
break;
case "minute":
ret.setTime(ret.getTime() + units * 60000);
break;
case "second":
ret.setTime(ret.getTime() + units * 1000);
break;
default:
ret.setTime(ret.getTime() + units);
}
return ret;
}
// 使用日期计算函数
var date = new Date();
console.log(dateAdd(date, "month", 1)); // 输出1个月后的日期
dateAdd()
函数可以对日期进行计算。第一个参数是需要计算的当前日期,第二个参数表示计算的时间间隔(可选为year、quarter、month、week、day、hour、minute、second),第三个参数表示计算的时间间隔数。
本文介绍了如何使用JavaScript对日期进行格式化输出、日期计算等操作。JavaScript原生支持日期处理功能,不必借助第三方库,使用方便简单。