我有一个时间戳,我需要在我的应用中显示:3:21PM
。
我的Django / python代码设置这样的对象:
timestamp = models.DateTimeField(default=datetime.now)
我可以使用:
以角度访问此时间戳{{message.timestamp}}
这给了我整个时间戳,其格式如下:
2014 - 11 - 14 23:59:13 +0300
因为我希望我的时间戳看起来像3:21PM
,所以这不起作用!我尝试做的是创建一个过滤器(在filters.js中):
.
filter('asDate', function () {
return function (input) {
return new Date(input);
}});
有了过滤器,理论上我应该可以在我的标签中访问Angular的所有各种时间戳格式,如下所示:
{{ message.timestamp | asDate | date:"shortTime" }}
这将是完美的,除非它不起作用 - 在我的应用程序中显示:
NaN:NaNPM
所以在此之后我回到我的过滤器并尝试将input
记录到控制台,它显示为我之前粘贴的,所以我只是卡在这里。我甚至尝试使用一些正则表达式删除空格:
input.replace(/\s+/g, '');
这返回2014-11-1423:59:13+0300
我认为不会起作用......
答案 0 :(得分:0)
好的我明白了,它实际上并不是我在我的模型中设置timestamp对象的地方,而是我定义它如何返回到json ...这就是我以前格式化它的方式:
return self.timestamp.strftime("%Y - %m - %d %H:%M:%S +0300")
新格式(角度理解的ISO8061):
return self.timestamp.strftime("%Y-%m-%dT%H:%M:%S+0300")
现在我也不需要过滤器,我只是像以前一样使用我的标签:
{{ message.timestamp | date:"shortTime" }}
这给了我想要的3:21PM
寻找时间戳!