当前位置: 首页 > 面试题库 >

为什么Angular日期过滤器显示错误的日期?

夹谷岳
2023-03-14
问题内容

我正在使用日期输入字段,并使用Angular在我的ui中格式化所选日期。但是格式化日期总是比所选日期少1天。为什么会这样,我该如何解决?

HTML:

<div ng-app="miniapp">
    <div>
    <label class="control-label" for="inputStart">Start Date:</label>
        <input type="date" id="inputStart" data-ng-model="startDate" /><br />
        Selected: <span>{{ startDate }}</span><br />
        fullDate: <span>{{ startDate | date:'fullDate' }}</span><br />
        mediumDate: <span>{{ startDate | date:'mediumDate' }}</span><br />
        MMMM d yyyy<span>{{ startDate | date:'MMMM d yyyy' }}</span>
    </div>    
</div>

JS:

var app = angular.module('miniapp', []);

我有一个小提琴来演示这个问题:http :
//jsfiddle.net/wittersworld/uY3s9/

编辑: 我用一个有效的解决方案更新了小提琴:http :
//jsfiddle.net/wittersworld/uY3s9/2/


问题答案:

这是一个时区问题。

如果您在日期选择器中输入某个日期(例如2013年6月8日),则该时间为格林尼治标准时间午夜。如果您居住在英格兰西部,例如在美国,那就是2013年6月7日。

换线

{{ startDate | date:'fullDate' }}

{{ startDate | date:'medium' }}

看时间!



 类似资料:
  • 问题内容: 我正在尝试将日期选择器添加到我的代码中,但是在内的上显示错误: 无法解析为变量 谁能帮我解决问题? 问题答案: 使用此代码可以解决您的问题,可以正常工作

  • 我有一条记录,上面写着:。但是,当我执行时,视图会呈现。知道为什么吗?所有日期都会发生这种情况,总是前一天

  • Safari不接受我输入的时间格式,原因是什么? 我找到了解决办法;

  • 问题内容: 我有字符串格式的日期,我想将其解析为使用日期。 我将其解析为: 但是奇怪的是,如果我传递的是“ 03-08- 201309 hjhkjhk ”或“ 03- 88 -2013”​​或 43 -88-201378,它不会抛出错误,而是对其进行解析。 为此,我必须编写正则表达式模式以检查日期的输入是否正确。但是为什么会这样呢? 代码: 问题答案: 您应该使用: 我不确定是否可以捕获 到 您想

  • 我正在从csv文件中读取日期/时间和数据,并将其存储在折线图中。我的日期/时间字符串是或,这实际上是第一个条目,我有几个小时的数据。 首先,我将chartArea X轴lablestyle设置为正确的格式:。 然后,我使用与上面相同的格式将实际的日期字符串解析为DateTime格式:。并将数据添加到图表中。

  • 正如Hendy Irawan所建议的那样,我添加了这两个类来解决CORS问题:Spring security CORS Filter(第一个)答案。 第二个类()有一点不同,我使用了而不是 我使用的是5.3.3版本 我是Stackoverflow的长期访客,这是我第一次询问,所以任何反馈都将不胜感激。