淘先锋技术网

首页 1 2 3 4 5 6 7

JavaScript实现年月日显示

年月日是人们生活中常见的日期格式,网站或应用程序中经常需要使用JavaScript代码将当天的日期显示在页面上,以下是一个简单的实现方法。

var date = new Date(); //获取当前日期
document.writeln(date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日");

以上代码中使用了Date对象的getFullYear、getMonth、getDate方法分别获取年、月、日并输出。

显示当前时间

如果需要显示当前时间,可以使用getHours、getMinutes、getSeconds方法获取时、分、秒。

var date = new Date(); //获取当前日期
document.writeln(date.getFullYear() + "年" + (date.getMonth() + 1) + "月" + date.getDate() + "日 " + date.getHours() + ":" + date.getMinutes() + ":" + date.getSeconds());

以上代码中除了获取年月日之外,还将当前小时、分钟、秒数拼接在输出结果中,形成了完整的日期时间格式的显示。

自定义日期格式

除了默认的年月日显示格式,开发者还可以自定义日期格式。以下代码实现以“YYYY-MM-DD”格式显示日期:

function formatDate(date) {
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
if (month< 10) {
month = "0" + month;
}
if (day< 10) {
day = "0" + day;
}
return year + "-" + month + "-" + day;
}
var date = new Date(); //获取当前日期
document.writeln(formatDate(date));

以上代码中使用了一个自定义的函数formatDate,将日期拆分为年、月、日三个部分,对月份和日期进行了特判,如果小于10则在前面加上0位,这样可以保证不足两位的月、日前面有0进行补全,最后返回拼接的结果。

格式化输出解析ISO8601标准日期格式

如果需要处理ISO8601标准的日期格式,可以使用以下代码:

function parseISO8601(dateStringInRange) {
var isoExp = /^s*\d{4}-?(\d{2})-?(\d{2})T?(\d{2})?(\d{2})?(\d{2})?.?(\d+)?Z?\s*$/;
var date = new Date(NaN);
var month, day, hour, minute, second, ms;
var parts = isoExp.exec(dateStringInRange);
if (parts) {
month = +parts[1];
day = +parts[2];
hour = +parts[3];
minute = +parts[4];
second = +parts[5];
ms = parts[6] ? +parts[6].substr(0, 3) : 0;
if (month< 10) {
month = "0" + month;
}
if (day< 10) {
day = "0" + day;
}
if (!isNaN(hour)) {
date.setUTCFullYear(parts[0], month - 1, day);
date.setUTCHours(hour, minute, second, ms);
} else {
date.setUTCFullYear(parts[0], month - 1, day);
}
}
return date;
}
var isoDate = "2019-11-25T08:30:00Z";
var date = parseISO8601(isoDate);
document.writeln(date);

以上代码中使用了parseISO8601函数,利用正则表达式匹配ISO8601日期格式字符串的各个部分,然后将年、月、日、小时、分钟等信息保存到Date对象中,返回格式化后的日期。

总结

JavaScript可以很方便地实现日期时间的显示和格式化,开发者可以根据需求自定义日期显示格式,并且可以处理ISO8601标准日期格式,方便地在开发中应用。