Mysql nodejs无(明显)原因更改日期时间数据

Mysql nodejs无(明显)原因更改日期时间数据,mysql,node.js,datetime,Mysql,Node.js,Datetime,编辑: 即使浏览器将日期对象显示为普通字符串,服务器仍在发送日期对象。一旦我发现我只是将数据的类型从Object更改为String,并且日期仍然如预期的那个样。谢谢你的帮助 ========================================================================= 在webapp上工作,以显示我从raspberry上的API检索到的一些数据。API通过MySQL请求将数据正确发送到API服务器,但当数据到达nodeJS应用服务器时,date

编辑:

即使浏览器将日期对象显示为普通字符串,服务器仍在发送日期对象。一旦我发现我只是将数据的类型从Object更改为String,并且日期仍然如预期的那个样。谢谢你的帮助

=========================================================================

在webapp上工作,以显示我从raspberry上的API检索到的一些数据。API通过MySQL请求将数据正确发送到API服务器,但当数据到达nodeJS应用服务器时,datetime字符串会发生更改,如图所示:

如图所示,右侧是从mysql服务器发送到nodejs服务器的数据。我是console.log,在请求从API端点发送到mysql服务器之后直接记录数据。 左侧是通过向右侧终端窗口中记录的相同API端点发送普通GET请求,在浏览器中以JSON显示的相同数据。您应该注意到数据是相同的,但是在左侧,dateandtime字符串被更改了一个小时,我想不出任何原因。我不处理服务器上的dateandtime数据,因此它不会被我创建的某些函数或进程更改


提前感谢您的帮助

这两个日期在技术上是相同的,只是显示格式不同。如果希望控制台以ISO 8601格式打印日期(如左图所示),则必须明确说明这一点。您可以这样做:

results.each(r=>r.dateandtimeisostring=r.dateandtime.toISOString())
console.log(results). 
日期和时间字符串
的格式将与浏览器相同


但是请注意,
dateandtimesostring
是一个字符串,而不是日期。对于任何计算,都应该使用dateandtime

但是为什么它会在我没有告诉服务器的情况下更改日期和时间字符串?@mnemosdev it没有更改它。在内部,它们都是一样的。它的打印方式改变了。看看这个:。对日期的打印方式没有限制,因此浏览器和节点决定以不同的方式打印日期。正如我所说,2是等效的,但只是显示方式不同。因此,我必须看看最终的“物理”服务器将如何显示日期,在这种情况下,我应该创建一个函数,将时间提前一小时“移动”。T您是否将系统时钟设置为UTC以外的时区?不要,我没有D