角度日期筛选器不适用于Stripe时间戳

Angular date filter not working with Stripe timestamp

本文关键字:适用于 Stripe 时间戳 不适用 日期 筛选      更新时间:2023-09-26

我有一个由Stripe的API提供的时间戳。1397166153.

然而,当以最简单的形式使用{{ 1397166153 | date }}时,我会得到:1970年1月17日,而实际上应该是2014年4月10日。

有人知道这里发生了什么吗?

我真的很感谢你的帮助!

我总是通过一个函数运行所有的时间戳,因为JavaScript epoch以毫秒为单位,Stripe响应epoch以秒为单位。

$scope.timestamp = function(epoch){
    return (epoch * 1000);
};

然后,在您的模板中:

 <p>{{ timestamp(1397166153) | date }}</p>

或者,如果你只需要做一次,你可以一直在线做:

 <p>{{ (1397166153 * 1000) | date }}</p>

时间戳似乎以秒为单位。

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日期过滤器。