今天我发现它无法转换角度表达式中的日期。
所以我只是做了像
这样的事情<th>{{new Date(elem.timestamp}}</th>
但它因内部角度误差而失败。
那么为什么不能在角度表达式中强制转换为日期?
答案 0 :(得分:26)
因为角度表达式不接受任意Javascript代码,包括创建新对象。您正在寻找的是角度过滤器,它们是专为此案例设计的。
所以而不是
{{new Date(elem.timestamp)}}
你应该写
{{elem.timestamp | date: 'yyyy-MM-dd'}}
答案 1 :(得分:5)
如果要处理Firebase时间戳记对象(https://firebase.google.com/docs/reference/android/com/google/firebase/Timestamp),则可以使用:
{{elem.timestamp.seconds*1000 | date}}
答案 2 :(得分:2)
使用Firebase时间戳进行处理:
{{ element.seconds * 1000| date:'short' }}
答案 3 :(得分:1)
答案 4 :(得分:1)
只是延伸@package所提到的我们也可以从毫秒到小时秒,格式也可以是任何模式
< th >{{elem.timestamp | date: 'yyyy/MM/dd h:mm:ss a'}}< /th >
答案 5 :(得分:1)
当时间戳以毫秒为单位时: 仅日期:
{{elem.timestamp | date: 'yyyy-MM-dd'}}
日期和时间:
{{elem.timestamp | date: 'yyyy/MM/dd hh:mm:ss a'}}
日期和时间(24小时格式):
{{elem.timestamp | date: 'yyyy/MM/dd HH:mm:ss'}}
当时间戳以秒为单位时,只需乘以1000:
{{elem.timestamp*1000 | date: 'yyyy/MM/dd HH:mm:ss'}}
答案 6 :(得分:0)
正在转换 Angular 表达式中的日期。
所以我只是做了一些类似的事情:
{{elem.timestamp | date: 'yyyy-MM-dd'}}