编写此JavaScript日期代码的更短方法

时间:2013-02-09 16:27:45

标签: javascript date

您好我希望以下列格式在JavaScript中获取今天的日期:dd / mm / YYYY

以下代码完成了这项工作,但肯定有更短的方法来编写它?

    var today = new Date();
    var day = today.getDate();
    var month = today.getMonth()+1;
    var year = today.getFullYear(); 
    var todaysDate = day + "/" + month + "/" + year;

提前致谢。

3 个答案:

答案 0 :(得分:3)

当然。

var date = new Date();
var todaysDate = date.getDate() + "/" + date.getMonth()+1 + "/" + date.getFullYear();

请注意,这将返回不带前导零的值。为方便起见,您可以使用一个额外的功能添加它们:

function checkTime(i){if(i<10){i="0" + i}return i}
var date = new Date();
var todaysDate = checkTime(date.getDate()) + "/" + checkTime(date.getMonth()+1) + "/" + date.getFullYear();

答案 1 :(得分:3)

推荐一个伟大的js日期/时间lib:http://momentjs.com/

moment().format('D/M/YYYY');   //"10/2/2013"

如果你需要填充零:

moment().format('DD/MM/YYYY'); //"10/02/2013"

如果你想写纯粹的js,这里没什么可做的,只是切掉一些变量。

var today = new Date;
//parenthesis around month is required.
var todaysDate =  today.getDate() + '/' +  (today.getMonth()+1) + '/' + today.getFullYear();
//"10/2/2013"

答案 2 :(得分:0)

尽管JavaScript提供了一组获取和设置日期对象部分的方法,但缺少根据用户指定的掩码格式化日期和时间的简单方法。你的很简单。

您可以使用外部库,但只需一个简单的操作,脚本大小权衡就不是最佳选择。

较短的版本是以这种方式内联最后4行:

var today = new Date();
var todaysDate = today.getDate() + "/" + (today.getMonth()+1) + "/" + today.getFullYear();