【问题标题】:Value for date keeps returning NaN日期值不断返回 NaN
【发布时间】:2019-05-13 13:19:18
【问题描述】:

我想在 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”的输出

谁能说出这里有什么问题?

【问题讨论】:

  • date is a String like "2019-05-17" ... +"2019-05-17" is not a number

标签: javascript date


【解决方案1】:

只是:

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}`);

【讨论】:

  • @ObitoUchiha 不客气!我已经提供了其他可能的方法来达到预期的结果!
【解决方案2】:

问题在于将参​​数传递给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】:

    从错误中删除+号或,

    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);
    

    【讨论】:

      【解决方案4】:

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

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

      或者其他:

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

      【讨论】:

      • “您同时使用了逗号运算符和加号运算符”。逗号运算符用于表达式之间并返回最后一个操作数。但是这里没有逗号运算符。它只是将参数传递给函数的语法
      • 看看OP的代码@MaheerAli - 有一个逗号和一个加号,这是无效的语法。
      • 是的,但逗号不是逗号运算符。
      • 我不认为逗号是运算符。它是一个标点符号,用于分隔列表中的项目(标识符或表达式)。在这种情况下,传递给函数 (console.log) 并成为参数列表的参数列表。
      猜你喜欢
      • 1970-01-01
      • 2014-07-01
      • 2019-02-22
      • 1970-01-01
      • 2019-09-28
      • 1970-01-01
      • 1970-01-01
      • 2016-09-08
      • 2012-01-01
      相关资源
      最近更新 更多