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标准日期格式,方便地在开发中应用。