UNPKG

ohayolibs

Version:

Ohayo is a set of essential modules for ohayojp.

20 lines (16 loc) 772 B
import { Pipe, PipeTransform } from '@angular/core'; import { toDate } from '@ohayo/util'; import format from 'date-fns/format'; import formatDistanceToNow from 'date-fns/formatDistanceToNow'; import { NzSafeAny } from 'ng-zorro-antd/core/types'; import { NzI18nService } from 'ng-zorro-antd/i18n'; @Pipe({ name: '_date' }) export class DatePipe implements PipeTransform { constructor(private nzI18n: NzI18nService) { } transform(value: Date | string | number, formatString: string = 'yyyy-MM-dd HH:mm'): string { value = toDate(value); if (isNaN(value as NzSafeAny)) return ''; const langOpt = { locale: this.nzI18n.getDateLocale() }; return formatString === 'fn' ? formatDistanceToNow(value, langOpt) : format(value, formatString, langOpt); } }