0

我已经尝试了很多方法来解决这个问题,但问题仍然存在。

我在 SQL Server 中有一个 Date 字段(不是 Datetime,因为时间无关紧要),并且 Java API(实际上是 Spring)将此字段提供给我的 Ember 前端,用户可以在其中编辑该字段(使用 ember- pikaday 输入,但这可能无关紧要)。

问题是当我切换到编辑模式时,日期显示前一个日期,如果我保存,前一个日期就是保存的日期。如果我查看 API 返回的内容,则如下所示: "2015-02-03T05:00:00.000+0000"

我仍然在学习 JavaScript(和 Ember),所以看起来有一些本地时区信息被自动使用(我在 EST,即 GMT-5),这就是它返回凌晨 5 点时间的原因。

我真的不希望它对时间做任何事情,但由于 JavaScript 日期对象根据定义包含时间信息,我不知道如何摆脱它。我已经尝试将时间设置为中午,这样即使有五个小时的差异,也会是同一天,但是由于数据库没有保存时​​间,所以下次我刷新页面时,我又回到了广场一。

我已经用完了谷歌的东西,这就是我在这里发帖的原因。我确定我遗漏了一些明显而简单的东西。

编辑:我尝试创建一个新变量来获取日期部分并始终使用它,但是当我进入编辑模式时,我的 Pikaday 输入开始发挥作用,它仍然显示之前的日期,所以我怀疑这是原因的问题,但我几乎没有看到其他人抱怨这个。

4

1 回答 1

0

这是一个类似的 ember.js 问题:

Ember.js 提前一天约会

还要确保您的 javascript ISO-8601 日期具有时区。我在 web api 上遇到了类似的问题,其中 ISO-8601 日期没有发送任何时区信息,也没有为 UTC 发送 Z 并且接收者认为它们没有转换为 UTC 并在前一天'2012-07-27T18:51: 45.53403Z // UTC'。您可以使用 Fiddler 或 Chrome 开发工具查看您发送到服务器的日期格式,确保 Z 或偏移量 '2012-07-27T11:51:45.53403-07:00 // Local' 存在。

于 2015-02-04T15:59:06.493 回答