我有Stripe API提供的时间戳。 1397166153。
然而,当以最简单的形式{{ 1397166153 | date }}
使用它时,我得到:1970年1月17日,实际上它应该是2014年4月10日。
有谁知道这里发生了什么?
我真的很感谢你的帮助!
答案 0 :(得分:6)
我总是通过一个函数运行我的所有时间戳,因为JavaScript纪元是以毫秒为单位,条纹响应时期是以秒为单位。
$scope.timestamp = function(epoch){
return (epoch * 1000);
};
然后,在您的模板中:
<p>{{ timestamp(1397166153) | date }}</p>
或者,如果您只需要执行一次,则可以始终以内联方式执行此操作:
<p>{{ (1397166153 * 1000) | date }}</p>
答案 1 :(得分:2)
似乎时间戳以秒为单位。
var seconds = 1397166153; //your value
var ms = seconds * 1000;
new Date(seconds) // Fri Jan 16 1970 21:06:06 GMT-0700 (Mountain Standard Time)
new Date(ms) // Thu Apr 10 2014 15:42:33 GMT-0600 (Mountain Daylight Time)
我不确定Stripe将其重新发送的格式。但我始终必须转换为Date
对象或ms
以使用Angular日期过滤器。