我从我的 Angular 网站的 Active 目录中获取属性
lastlogon
,如下所示:
133523714173245792
。
我想将其转换为可读的日期时间
我尝试过这样的日期管道:
<span>{{ computer?.lastlogon | date}}</span>
和
<span>{{ computer?.lastlogon | date: 'dd/MM/yyyy'}}</span>
adn 总是会抛出相同的错误:
ERROR Error: NG02100: InvalidPipeArgument: 'Unable to convert "133523714173245792" into a date' for pipe 'DatePipe'
我尝试在多个网站上手动转换,但总是返回告诉其格式无效。
日期是:
133523714173245792
最终解决方案是
(value/10000000)-11644473600)*1000
。
我创建了一个执行此操作并返回基于 UNIX 的毫秒的管道,然后使用角度数据管道。
我自己的烟斗:
import { Pipe, PipeTransform } from '@angular/core';
@Pipe({
name: 'adTimeConvert',
standalone: true
})
export class AdTimeConvertPipe implements PipeTransform {
transform(value: number, ...args: unknown[]): number {
return ((value/10000000)-11644473600)*1000;
}
}
然后在模板中使用它,如下所示:
<span>
{{computer?.lastlogon | adTimeConvert | date : "dd/MM/yyyy hh:mm:ss"}}
</span>