日期值不断返回NaN

时间:2019-05-13 05:08:37

标签: javascript date

我想在Javascript中使用当前日期为'YYYY-MM-DD'格式的变量。但是当我执行我的代码并在console.log中检查它时。它只是说NaN

var today = new Date();
var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
console.log("the date format here is ", + date);

console.log显示的输出类似于“此处的日期格式为NaN”

有人可以说这里有什么问题吗?

4 个答案:

答案 0 :(得分:6)

就这样:

console.log('the date format here is ', date);

不需要'+'

如果您考虑使用加号运算符+使用字符串连接,则正确的语法应为

console.log('the date format here is ' + date);

但是,当涉及到您遇到的情况时,我个人会认为ES6的template literals

console.log(`the date format here is ${date}`);

答案 1 :(得分:1)

您同时使用逗号运算符(用于参数分隔)和加号运算符。使用一个:

console.log("the date format here is " + date);

另一个:

console.log("the date format here is ", date);

答案 2 :(得分:1)

问题在于将参​​数传递给console.log()。您正在向函数传递两个参数,并尝试使用Unary Plus date

将第二个参数从Number转换为+
console.log("the date format here is ", + date);

应该是

console.log("the date format here is " + date);

您可以将包含包含方法的数组用作字符串,然后使用map()调用它们,然后使用join() -调用它们

var today = new Date();

 var date = ['getFullYear','getMonth','getDate'].map(x => today[x]()).join('-')
 console.log("the date format here is " + date);

答案 3 :(得分:1)

删除错误的+号或

console.log("the date format here is ", + date);

这是正确的

  var today = new Date();
    var date = today.getFullYear()+'-'+(today.getMonth()+1)+'-'+today.getDate();
    console.log("the date format here is ",  date);

enter image description here