12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- import { Pipe, PipeTransform } from '@angular/core';
- @Pipe({
- name: 'utilnow',
- standalone: true
- })
- export class UtilnowPipe implements PipeTransform {
- transform(value: Date, args?: any): any {
- let now = new Date();
- let time = now.getTime() - value.getTime();
- let seconds = time / 1000
- if(seconds<=60){
- return this.handleArgs(seconds.toFixed(0),"秒钟前",args)
- }
- let minutes = seconds / 60
- if(minutes < 60){
- return this.handleArgs(minutes.toFixed(0),"分钟前",args)
- }
- let hours = minutes / 60
- if(hours < 24){
- return this.handleArgs(hours.toFixed(0),"小时前",args)
- }
- let days = hours / 24
- if(days < 7){
- return this.handleArgs(days.toFixed(0),"天前",args)
- }
- let dateStr = `${value?.getFullYear()}-${value?.getMonth()+1}-${value?.getDate()}`
- return dateStr
- }
- // 时间标记
- enLocale:any = {
- "秒钟前":" seconds ago",
- "分钟前":" minutes ago",
- "小时前":" hours ago",
- "天前":" days ago",
- }
- handleArgs(value:any,unit:any,args:any):any{
- if(args=="en"){
- unit = this.enLocale[unit]
- }
- if(args?.constructor?.name == "TranslateService"){
- console.log(unit)
- if(args?.getDefaultLang()=="en"){
- unit = this.enLocale[unit]
- }
- // unit = await new Promise(resolve=>{
- // args?.get(unit).subscribe(data=>{
- // console.log(data)
- // resolve(data)
- // })
- // })
- }
- if(args=="json"){
- return {unit,value}
- }else{
- return value+unit
- }
- }
- }
|