Как я могу реализовать этот канал дат на стороне HTML в виде кода TypeScript, чтобы преобразовать временную метку в форматированную дату?

#javascript #angular #typescript #angular-pipe

#javascript #angular #typescript #angular-pipe

Вопрос:

в приложение Angular я преобразую переменную, содержащую значение даты, в формат временной метки, что-то вроде этого:

 patientBirthDate:  
t {seconds: 450568800, nanoseconds: 0}
nanoseconds: 0
seconds: 450568800
__proto__:
 

в дату из HTML компонента, таким образом:

 <span class="image-text">{{patient.birthDate.toMillis() | date:'dd/MM/yyyy'}}</span>
 

и это работает нормально. Теперь я должен реализовать такое же точное поведение (начиная с того же поля) из кода TypeScript. Я пытался сделать:

 console.log("patientBirthDate: ", patient.birthDate.toMillis());
 

но тогда что я могу сделать, чтобы преобразовать ее в форматированную дату?

Ответ №1:

Вы можете внедрить DatePipe в конструктор вашего компонента и использовать this.datePipe.transform(date, '<format>');

 
class Component {
  constructor(private datePipe: DatePipe) {}

  formatPatientBirthDate(patient: Patient): string {
    return this.datePipe.transform(patient.birthDate.toMillis(), 'dd/MM/yyyy');
  }
}