0

您好,我想以以下格式在 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;

提前致谢。

4

3 回答 3

3

推荐一个很棒的 js 日期/时间库: 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"
于 2013-02-09T16:37:57.487 回答
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();
于 2013-02-09T16:34:17.790 回答
0

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

您可以使用外部库,但脚本大小的权衡对于一个简单的操作来说并不是最佳的。

更短的版本是以这种方式将最后 4 行内联起来:

var today = new Date();
var todaysDate = today.getDate() + "/" + (today.getMonth()+1) + "/" + today.getFullYear();
于 2013-02-09T16:40:26.977 回答