【发布时间】:2016-01-20 00:37:10
【问题描述】:
我有一个旧数据库,其中存储日期没有时区信息。我需要将这些按面值读入客户端,即服务器时区中的2 pm 应解释为客户端时区中的2 pm。
通过将Date.prototype.toJSON 替换为简单地忽略时区的方法,我能够在查询服务器时删除时区。现在我需要一个类似的服务器端解决方案。
这不是how to set local timezone in sails 的副本。我想取消设置它。
编辑
PostGRES 中的日期是正确的,但 Waterline/Sails 似乎在将其转换为 JSON 之前将其转换为 UTC。我不希望这种情况发生。 PostGRES 中的查询返回 2013-02-28 15:00:00,但是当我 console.log 来自 Sails 中相同查询的结果(通过 custom made toJSON method)时,我得到了 "2013-02-28T07:00:00.000Z"。然后它被发送给客户并翻译成客户的本地时间......你得到了图片。
【问题讨论】:
-
您能否添加更多信息和代码:您在哪里看到时区更改:在数据库中?控制器?你到底在使用什么数据库?你如何将日期作为字符串或纪元时间发送?您如何将其解析回日期?你做了什么来“删除”客户端的时区?
-
您始终可以使用字符串和数字。
Date对象只是一种方法。 -
@MattJohnson 是的。问题只是如何仅将 .toJSON 替换为 Waterline.js 列。
-
@OferHerman,请参阅编辑。它通过 socket.io 解析回日期。我不确定内部情况。这是所有“开箱即用”的 Sails.js 功能。
标签: date datetime timezone sails.js waterline