编辑:
即使浏览器将日期对象显示为普通字符串,服务器也在发送日期对象。一旦我发现我只是将数据类型从Object更改为String,并且日期保持预期。谢谢你的帮助。
=============================================== ==========================
使用webapp显示我从覆盆子上的API检索的一些数据。 API通过MySQL请求将数据正确地发送到API服务器,但是当数据到达nodeJS应用程序服务器时,日期时间字符串会发生变化,如图所示:
从图中可以看出,右边是从mysql服务器发送到nodejs服务器的数据。在将请求从API端点发送到mysql服务器之后,我是console.logging数据。 左侧是浏览器中JSON显示的相同数据,通过向右侧终端窗口中记录的同一API端点发送普通GET请求。您应该注意到数据是相同的,但是在左侧,dateandtime字符串已经被改变了一个小时,这是我无法想到的。我不处理服务器上的日期和时间数据,因此我没有通过我创建的某个功能或进程更改它。
提前感谢您的帮助!
答案 0 :(得分:1)
这两个日期在技术上是等效的,只是采用不同的显示格式。如果您希望控制台以ISO 8601格式打印日期(如左图所示),那么您必须明确这一点。你可以这样做:
results.each(r=>r.dateandtimeisostring=r.dateandtime.toISOString())
console.log(results).
dateandtimesisotring
的格式与浏览器的格式相同。
但请注意,dateandtimesisotring
是字符串而不是日期。对于任何计算,您应该使用dateandtime。