将时间戳转换为角度表达式中的日期,如{{new Date(timestamp)}}

Ph0*_*n1x 11 javascript angularjs

今天我发现它不能在角度表达式中转换日期.

所以我只是做了类似的事情

<th>{{new Date(elem.timestamp}}</th>
Run Code Online (Sandbox Code Playgroud)

但它失败了内部角度误差.

那么为什么不可能在角度表达式中强制转换为Date?

pac*_*age 31

因为角度表达式不接受任意Javascript代码,包括创建新对象.您正在寻找的是角度过滤器,它们是专为此案例设计的.

而不是

{{new Date(elem.timestamp)}}

你应该写

{{elem.timestamp | date: 'yyyy-MM-dd'}}

有关日期过滤器的更多信息,请点击此处.有关过滤器的更多信息,请点击此处.


小智 12

如果您要处理Firebase Timestamp对象(https://firebase.google.com/docs/reference/android/com/google/firebase/Timestamp),则可以使用:

{{elem.timestamp.seconds*1000 | date}}
Run Code Online (Sandbox Code Playgroud)


小智 5

只是 @package 提到的扩展,我们也可以从毫秒转到小时-秒,格式也可以是任何模式

< th >{{elem.timestamp | date: 'yyyy/MM/dd h:mm:ss a'}}< /th >
Run Code Online (Sandbox Code Playgroud)