我已经尝试了很多东西来解决这个问题,但问题仍然存在问题。
我在SQL Server中有一个Date字段(不是Datetime,因为时间无关紧要),并且Java API(实际上是Spring)将此字段提供给我的Ember前端,用户可以在其中编辑字段(使用一个ember-pikaday输入,但这可能是无关紧要的。)
问题是,当我切换到编辑模式时,日期显示之前的一个日期,如果我保存,之前的一个日期是保存的日期。如果我查看API返回的内容,它看起来如下所示:
"2015-02-03T05:00:00.000+0000"
我仍然非常学习JavaScript(和Ember),所以看起来有一些本地时区信息被自动使用(我在EST,这是GMT-5),这就是它返回5AM时间的原因
我真的不希望它随着时间的推移做任何事情,但由于JavaScript日期对象的定义包括时间信息,我不知道如何摆脱它。我已经尝试将时间设置为中午,这样即使有五个小时的差异,也会是同一天,但由于数据库没有节省时间,下次刷新页面时,我又回到了方一。
我已经把事情用完了谷歌,这就是我在这里发布的原因。我确信我错过了一些显而易见的事情。
编辑:我尝试创建一个新变量来获取日期部分并在整个过程中使用它,但当我进入编辑模式时,我的Pikaday输入发挥作用,它仍然显示日期之前,所以我怀疑这是问题的原因,但我没有看到任何人抱怨这个。
答案 0 :(得分:0)
这是一个类似的ember.js问题:
另外,请确保您的javascript ISO-8601日期具有时区。我在web api上遇到了类似的问题,其中ISO-8601日期没有发送任何时区信息,也没有Z表示UTC,接收方认为它们没有转换为UTC并且提前一天制作了它们#2012; 2012-07-27T18 :51:45.53403Z // UTC'。您可以使用Fiddler或Chrome开发工具查看您发送到服务器的日期格式,确保Z或偏移量' 2012-07-27T11:51:45.53403-07:00 //本地'在那里。