AngularJS格式日期不格式化

时间:2014-10-24 22:34:28

标签: javascript angularjs

{{ map.thedate }}

以上输出2014-06-29 16:43:48

当我尝试以下代码时,它仍显示与上述相同的日期。

{{ map.thedate | date:'medium' }}

2 个答案:

答案 0 :(得分:1)

Conver你的约会,这是一个例子:

for (var i=0; i<map.length; i++) {
    var unixTime = (new Date(map[i].thedate)).getTime();         
    map[i].thedate= unixTime;        
}        

AngularJS不接受这种日期格式,这是迭代数据集并将其转换为可接受格式的简单解决方案。

另一种选择是在服务器端做同样的事情。只需迭代它并将其转换为unix时间戳。

这是来自文档的描述。它会接受什么:

格式化为Date对象,毫秒(字符串或数字)或各种ISO 8601日期时间字符串格式的日期(例如yyyy-MM-ddTHH:mm:ss.sssZ及其较短版本,如yyyy-MM-ddTHH:mmZ, yyyy-MM-dd或yyyyMMddTHHmmssZ)。如果字符串输入中未指定时区,则认为时间在本地时区。

答案 1 :(得分:1)

您的日期不是ISO格式。使用过滤器将输入转换为日期,然后应用日期过滤器

app.filter("toDate", function () {
    return function (input) {
        return new Date(input);
    }
});

然后在html标记中:

{{map.thedate | toDate | date:'medium'}}