我想在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”
有人可以说这里有什么问题吗?
答案 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)