1

我的页面上有一个表格,其中包含以下内容:

<td class="spotted-border">{{ row.modifiedDate | date:'short' }}</td>
<td class="spotted-border">{{ row.modifiedDate }}</td>

当我打开一个模式,修改内容,发布数据并替换行中的现有数据时,我发现第二个日期设置正确,但第一个日期/时间通常不正确。以下是晚上 10:22 和晚上 10:27 所做更改的输出。

7/9/13 11:02 PM    2013-07-09T22:22:22.2425232+08:00

7/10/13 12:19 AM   2013-07-09T22:27:55.6705942+08:00

看来 date:'short' 并没有真正按预期工作。当我使用 Chrome 调试时,我看到返回了正确的日期。

4

1 回答 1

1

EcmaScprit 规范不允许 Date 值具有如此高的精度,当您应用“短”日期过滤器时,您会看到此结果。

任何超过 3 精度的东西(webkit 做 5),你都会遇到这个问题。

<div ng-app ng-init="modifiedDate = '2013-07-09T22:22:22.2425232+08:00'">
    <input type="text" ng-model="modifiedDate"/>

    <h1>{{ modifiedDate | date:'short' }}</h1>

    <h1>{{ modifiedDate }}</h1>
</div>

显示问题的示例

如果您截断为 5,您的日期显示将正确显示。

2013-07-09T22:22:22.24252+08:00

工作示例

来自谷歌组的更多信息

于 2013-07-09T14:56:35.393 回答