如何以YYYY-MM-DD格式获取日期?
如何获得YYYY-MM-DD格式的日期?
问题的原因:用户想要获取当前日期,并且希望以YYYY-MM-DD的格式来显示。
解决方法:
1. 使用JavaScript来获取当前日期,并将其转换为YYYY-MM-DD的格式。
2. 在HTML中创建一个带有id属性的div元素,用于显示日期。
3. 使用JavaScript将格式化后的日期赋值给div元素的innerHTML属性,以在网页上显示日期。
以下是解决问题的代码:
var today = new Date().getFullYear()+'-'+("0"+(new Date().getMonth()+1)).slice(-2)+'-'+("0"+new Date().getDate()).slice(-2); document.getElementById("today").innerHTML = today;
运行以上代码后,将会在页面上显示当前日期,格式为YYYY-MM-DD。
问题的出现原因是想要将日期以YYYY-MM-DD的格式显示。解决方法是使用下面的代码。将日期传递给convertDate()
函数,它将返回一个以YYYY-MM-DD格式的字符串:
var todaysDate = new Date(); function convertDate(date) { var yyyy = date.getFullYear().toString(); var mm = (date.getMonth()+1).toString(); var dd = date.getDate().toString(); var mmChars = mm.split(''); var ddChars = dd.split(''); return yyyy + '-' + (mmChars[1]?mm:"0"+mmChars[0]) + '-' + (ddChars[1]?dd:"0"+ddChars[0]); } console.log(convertDate(todaysDate)); // 返回:2015-08-25
x < 10
比.split
更便宜,可以避免使用.toString
。
是的,因为月份从0开始。一月=0,二月=1。我们希望1月=1,2月=2,所以要将值加1。
为什么使用.toString()
?
问题的出现原因是用户想要获取一个以YYYY-MM-DD格式表示的日期。解决方法是使用JavaScript内置的.toISOString()
方法,然后使用split('T')[0]
将结果字符串截取到日期部分。这个方法简单、干净,而且只需要一行代码。
以下是具体的解决方法代码:
var date = (new Date()).toISOString().split('T')[0]; document.getElementById('date').innerHTML = date;
并且需要注意,格式化后的字符串所使用的时区是UTC,而不是本地时间。
另外,需要注意的是这个方法将日期转换为UTC,所以结果字符串会根据时区和时间而加或减一天。因此,这并不是一个最佳的解决方法。