使用JavaScript获取日期,格式为[MM/DD/YY]。
问题的出现原因:需要使用JavaScript获取日期,并按照[MM/DD/YY]的格式显示。
解决方法:
1. 获取当前年份的后两位数,可以使用以下代码:
String(new Date().getFullYear()).substr(2)
2. 获取月份,并确保月份为两位数(01到12),可以使用以下代码:
var d = new Date("2013/8/3"); (d.getMonth() < 10 ? "0" : "") + (d.getMonth() + 1)
3. 对于日期、分钟和秒钟,可以使用类似的方法进行处理。
以上解决方法可以在以下链接中找到示例演示:[Working Demo](http://jsfiddle.net/minagabriel/22sc6/)
问题的原因是日期和月份可能只有一位数字,需要将它们格式化为两位数字。解决方法是使用slice()方法和字符串连接符将日期和月份格式化为两位数字。以下是解决方法的代码:
HTML
JS
(function () { // 获取当前日期 var date = new Date(); // 将天/月/年格式化为两位数字 var formattedDate = ('0' + date.getDate()).slice(-2); var formattedMonth = ('0' + (date.getMonth() + 1)).slice(-2); var formattedYear = date.getFullYear().toString().substr(2,2); // 组合并格式化日期字符串 var dateString = formattedMonth + '/' + formattedDate + '/' + formattedYear; // 引用输出的DIV var output = document.querySelector('#output'); // 输出日期字符串 output.innerHTML = dateString; })();
你可以在以下链接中查看示例:[http://jsfiddle.net/kboucher/4mLe1Lrd/](http://jsfiddle.net/kboucher/4mLe1Lrd/)
这样,无论日期和月份是否只有一位数字,都可以得到形如[MM/DD/YY]的日期格式。
原因:问题出现的原因是作者想要使用JavaScript获取当前日期,并将日期格式化为[MM/DD/YY]的形式。作者使用了getMonth()方法来获取月份,但忘记了对获取到的月份进行加1操作,导致获取到的月份比实际月份少1。另外,作者使用了getYear()方法来获取年份,但这个方法返回的是从1900年开始计算的年份,对于2000年以后的年份,返回的是3位数的年份。
解决方法:为了解决这个问题,作者需要在使用getMonth()方法获取月份时,对获取到的月份进行加1操作。另外,作者需要使用getFullYear()方法来获取四位数的年份。修复后的代码如下:
var date = new Date(); var datestring = ("0" + (date.getMonth() + 1).toString()).substr(-2) + "/" + ("0" + date.getDate().toString()).substr(-2) + "/" + (date.getFullYear().toString()).substr(-2);
这样就能保证获取到的日期格式为[MM/DD/YY]的形式了。