Эффективные способы отображения временных меток в формате гггг-мм-дд в HTML с помощью Angular

В веб-разработке метки времени обычно отображаются в определенном формате, чтобы повысить читаемость и единообразие. В этой статье будут рассмотрены различные методы отображения меток времени в формате «гггг-мм-дд» с использованием HTML и Angular. Мы предоставим примеры кода для каждого метода, чтобы помочь вам реализовать их в ваших проектах. Давайте погрузимся!

Метод 1: метод toISOString() JavaScript.
Один простой подход заключается в использовании встроенного в JavaScript метода toISOString(), который возвращает дату в формате времени UTC (гггг-мм- ддТчч:мм:сс.ссссZ). Вот как вы можете использовать его в шаблоне Angular:

<p>{{ myDate | date: 'yyyy-MM-dd' }}</p>

Метод 2: собственный канал Angular
Вы можете создать собственный канал Angular для форматирования метки времени по желанию. Вот пример того, как это реализовать:

  1. Создайте новый файл с именем timestamp.pipe.ts:

    import { Pipe, PipeTransform } from '@angular/core';
    @Pipe({
    name: 'timestamp'
    })
    export class TimestampPipe implements PipeTransform {
    transform(value: string): string {
    const date = new Date(value);
    const year = date.getFullYear();
    const month = ('0' + (date.getMonth() + 1)).slice(-2);
    const day = ('0' + date.getDate()).slice(-2);
    return `${year}-${month}-${day}`;
    }
    }
  2. В вашем компоненте Angular:

    import { Component } from '@angular/core';
    @Component({
    selector: 'app-root',
    template: `
    <p>{{ myDate | timestamp }}</p>
    `
    })
    export class AppComponent {
    myDate: string = '2022-01-01T12:34:56.789Z';
    }

Метод 3: библиотека Moment.js
Если вы предпочитаете использовать библиотеку, Moment.js — популярный выбор для манипулирования датой и временем. Вот как можно отформатировать временную метку с помощью Moment.js в Angular:

  1. Установите Moment.js через npm:

    npm install moment
  2. В вашем компоненте Angular:

    import { Component } from '@angular/core';
    import * as moment from 'moment';
    @Component({
    selector: 'app-root',
    template: `
    <p>{{ formatDate(myDate) }}</p>
    `
    })
    export class AppComponent {
    myDate: string = '2022-01-01T12:34:56.789Z';
    formatDate(date: string): string {
    return moment(date).format('YYYY-MM-DD');
    }
    }

В этой статье мы рассмотрели три различных метода отображения меток времени в формате «гггг-мм-дд» с использованием HTML и Angular. Предпочитаете ли вы встроенные методы JavaScript, пользовательские каналы Angular или внешние библиотеки, такие как Moment.js, теперь у вас есть знания для реализации форматирования меток времени в соответствии с вашими требованиями. Выберите метод, который соответствует потребностям вашего проекта, и наслаждайтесь единообразными и читаемыми временными метками на своих веб-страницах!