ohayolibs
Version:
Ohayo is a set of essential modules for ohayojp.
20 lines (16 loc) • 772 B
text/typescript
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';
({ 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);
}
}