【问题标题】:Why there is a difference in node js Date() object values in console.log()?为什么console.log()中的节点js Date()对象值存在差异?
【发布时间】:2018-02-01 07:03:46
【问题描述】:

我是 node 新手,我正在查看 Node.js 中的 Date() 对象、值和日期格式。当我运行下面的代码时,我在控制台中得到不同的输出。

const date_1 = new Date();
console.log(date_1);
const date_2 = new Date();
console.log(+date_2);
const date_3 = new Date();
console.log('comma:',date_3);
const date_4 = new Date();
console.log('plus:'+date_4);

在控制台中给出以下输出?

2018-02-01T06:55:41.327Z
1517468141327
comma: 2018-02-01T06:55:41.327Z
plus:Thu Feb 01 2018 12:25:41 GMT+0530 (India Standard Time)

谁能让我知道我在理解方面缺少什么。

【问题讨论】:

    标签: node.js date console.log


    【解决方案1】:

    第一种和第三种情况默认显示

    new Date().toJSON()
    

    对于第二种情况 +new Date() 一元运算符,相当于:

    function(){ return Number(new Date); }
    

    对于第四种情况'plus:'+date_4,字符串被连接起来,结果日期等价于

    'plus:'+date_4.toString() 
    

    【讨论】:

      【解决方案2】:

      new Date() 的值是通用格式(Z),所以当你记录一个日期时,它的值就会被记录。

      console.log(date);
      console.log('abc',date);
      

      但是当使用 + 运算符时,它会将其转换为数字格式(在日期的情况下为毫秒)-

      console.log(+date);
      console.log(1+'a'); // NaN
      

      当您将 + 与字符串一起使用时,它会获取 toString() 日期值,即 Thu Feb 01 2018 12:45:21 GMT+0530 (IST)

      console.log(date.toString()); // Thu Feb 01 2018 12:45:21 GMT+0530 (IST)
      

      【讨论】:

        【解决方案3】:

        您正在隐式地将您的日期转换为其他内容:

        const date_1 = new Date();
        console.log(date_1); //prints date as a Date object
        const date_2 = new Date();
        console.log(+date_2); //converts date to a number
        const date_3 = new Date();
        console.log('comma:',date_3); //prints date as a Date object
        const date_4 = new Date();
        console.log('plus:'+date_4); //converts date to a String

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2018-01-06
          • 1970-01-01
          • 2016-07-17
          • 1970-01-01
          • 2019-02-07
          • 2021-07-10
          相关资源
          最近更新 更多