为什么无法获取dateobject.getMonth()的长度?

时间:2019-04-16 14:53:24

标签: javascript datetime

我遵循了this问题中的说明。

这是我的代码:

    edate = new Date()
    edate.setYear(edate.getFullYear() + 1);
    month = edate.getMonth();
    console.log(month);
    console.log(month.length);

这将返回:

3
undefined

1 个答案:

答案 0 :(得分:3)

在您从另一个问题列出的代码中,存储在month中的值已转换为String。可以这样做(与空String串联会导致toString()转换):

month = '' + edate.getMonth();

Number值没有length属性,但是String有。这就是原始代码所利用的。

更新

一种更清晰的方法(如前所述)将利用String构造函数,该构造函数接受Number作为输入并将其转换为String,如下所示:

month = String(edate.getMonth());

或者,您可以直接在您身上调用toString()返回的值,就像这样:

getMonth()