Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript array.map客户端和节点服务器之间的差异_Javascript_Node.js_Arrays_Momentjs - Fatal编程技术网

Javascript array.map客户端和节点服务器之间的差异

Javascript array.map客户端和节点服务器之间的差异,javascript,node.js,arrays,momentjs,Javascript,Node.js,Arrays,Momentjs,我正在使用moment.js转换日期的格式。执行以下代码时,如果从客户端执行,则结果是正确的。但是如果我从节点服务器运行完全相同的代码,它就不工作了。。。会发生什么 const data = [{id:1,date: "2021-06-21T00:00:00.000Z"},{id:2,date: "2021-06-22T00:00:00.000Z"},{id:3,date: "2021-06-23T00:00:00.000Z"

我正在使用moment.js转换日期的格式。执行以下代码时,如果从客户端执行,则结果是正确的。但是如果我从节点服务器运行完全相同的代码,它就不工作了。。。会发生什么

     const data = [{id:1,date: "2021-06-21T00:00:00.000Z"},{id:2,date: "2021-06-22T00:00:00.000Z"},{id:3,date: "2021-06-23T00:00:00.000Z"}]
     const result = data.map( x => {
              x.date= moment(x.date).format('DD/MM/YYYY');
              return x
              });
    
      console.log(result)

    //Return from client (Chrome, Firefox):
    [{id:1,date: "21/06/2021"},{id:2,date: "22/06/2021"},{id:3,date: "23/06/2021"}]

    //Return from Node.js:
    [{id:1,date: "2021-06-21T00:00:00.000Z"},{id:2,date: "2021-06-22T00:00:00.000Z"},{id:3,date: "2021-06-23T00:00:00.000Z"}]

Array.map的行为在服务器和客户端上没有区别

真正的问题是服务器和客户端处理时间的方式不同

通常,服务器时间是基于UTC设置的,客户端遵循操作系统的系统时间

按UTC、时区、偏移量等进行搜索

"new Date()" on the browser and on the server will give different results.

[browser]
result > Fri Jun 04 2021 09:37:57 GMT+0900

[server]
result > 2021-06-04T00:38:03.316Z

你的代码没有问题。您是console.log(数据)而不是console.log(结果)吗。我不明白怎么了你好。我理解你的解释,但这并不能解决问题。我已经在时刻设置中设置了UTC选项:时刻(x.date).UTC()。格式('DD/MM/YYYY');结果是一样的。它不起作用。在服务器端和客户端设置相同的时区。负面影响还在继续。我再也想不出解决办法了。