nodejs更改日期时间数据,没有(明显)原因

时间:2017-10-30 09:41:57

标签: mysql node.js datetime

编辑:

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

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

使用webapp显示我从覆盆子上的API检索的一些数据。 API通过MySQL请求将数据正确地发送到API服务器,但是当数据到达nodeJS应用程序服务器时,日期时间字符串会发生变化,如图所示:

datetime data

从图中可以看出,右边是从mysql服务器发送到nodejs服务器的数据。在将请求从API端点发送到mysql服务器之后,我是console.logging数据。 左侧是浏览器中JSON显示的相同数据,通过向右侧终端窗口中记录的同一API端点发送普通GET请求。您应该注意到数据是相同的,但是在左侧,dateandtime字符串已经被改变了一个小时,这是我无法想到的。我不处理服务器上的日期和时间数据,因此我没有通过我创建的某个功能或进程更改它。

提前感谢您的帮助!

1 个答案:

答案 0 :(得分:1)

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

results.each(r=>r.dateandtimeisostring=r.dateandtime.toISOString())
console.log(results). 

dateandtimesisotring的格式与浏览器的格式相同。

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