DatePipe
Форматирует значение даты в соответствии с правилами локали.
Использование канала
{{ value_expression | date:format:timezone:locale }}API
class DatePipe implements PipeTransform {
constructor(locale: string, defaultTimezone?: string | null | undefined, defaultOptions?: DatePipeConfig | null | undefined): DatePipe;
transform(value: string | number | Date, format?: string | undefined, timezone?: string | undefined, locale?: string | undefined): string | null;
transform(value: null | undefined, format?: string | undefined, timezone?: string | undefined, locale?: string | undefined): null;
transform(value: string | number | Date | null | undefined, format?: string | undefined, timezone?: string | undefined, locale?: string | undefined): string | null;
}
constructor
DatePipetransform
3 перегрузкиstring | number | DateВыражение даты: объект Date, число (миллисекунды с начала эпохи UTC) или строка ISO (https://www.w3.org/TR/NOTE-datetime).
string | undefinedКомпоненты даты и времени, которые нужно включить: предопределённые параметры или строка пользовательского формата. Если значение не указано, DatePipe ищет его с помощью токена внедрения DATE_PIPE_DEFAULT_OPTIONS (и считывает свойство dateFormat). Если токен не настроен, используется значение mediumDate.
string | undefinedСмещение часового пояса (например, '+0430'). Если значение не указано, DatePipe ищет его с помощью токена внедрения DATE_PIPE_DEFAULT_OPTIONS (и считывает свойство timezone). Если токен не настроен, используется часовой пояс локальной системы конечного пользователя.
string | undefinedКод локали, задающий правила форматирования. Если значение не указано, используется значение LOCALE_ID, которое по умолчанию равно en-US. См. раздел Настройка локали приложения.
string | nullСтрока с датой в нужном формате.
null | undefined
string | undefined
string | undefined
string | undefined
null
string | number | Date | null | undefined
string | undefined
string | undefined
string | undefined
string | null
Описание
Форматирует значение даты в соответствии с правилами локали.
DatePipe выполняется только при обнаружении чистого изменения входного значения. Чистым изменением считается изменение примитивного входного значения (например, String, Number, Boolean или Symbol) либо изменение ссылки на объект (например, Date, Array, Function или Object).
Обратите внимание: изменение объекта Date не приводит к повторному выполнению канала. Чтобы канал выполнился снова, необходимо создать новый объект Date.
В Angular включены данные только для локали en-US. Чтобы локализовать даты на другом языке, необходимо импортировать соответствующие данные локали. Дополнительные сведения см. в руководстве по i18n.
Часовой пояс форматируемого значения можно задать, передав его вторым параметром канала, или указав значение по умолчанию с помощью токена внедрения DATE_PIPE_DEFAULT_OPTIONS. Значение, переданное вторым параметром, имеет приоритет над значением, заданным с помощью токена внедрения.
Экспортируется из
Примечания по использованию
Результат этого канала не пересчитывается при изменении входного значения. Чтобы не форматировать дату при каждом цикле обнаружения изменений, считайте дату неизменяемым объектом и меняйте ссылку на него, когда нужно повторно запустить канал.
Предопределённые параметры формата
| Параметр | Эквивалент | Примеры (для локали en-US) |
|---|---|---|
'short' | 'M/d/yy, h:mm a' | 6/15/15, 9:03 AM |
'medium' | 'MMM d, y, h:mm:ss a' | Jun 15, 2015, 9:03:01 AM |
'long' | 'MMMM d, y, h:mm:ss a z' | June 15, 2015 at 9:03:01 AM GMT+1 |
'full' | 'EEEE, MMMM d, y, h:mm:ss a zzzz' | Monday, June 15, 2015 at 9:03:01 AM GMT+01:00 |
'shortDate' | 'M/d/yy' | 6/15/15 |
'mediumDate' | 'MMM d, y' | Jun 15, 2015 |
'longDate' | 'MMMM d, y' | June 15, 2015 |
'fullDate' | 'EEEE, MMMM d, y' | Monday, June 15, 2015 |
'shortTime' | 'h:mm a' | 9:03 AM |
'mediumTime' | 'h:mm:ss a' | 9:03:01 AM |
'longTime' | 'h:mm:ss a z' | 9:03:01 AM GMT+1 |
'fullTime' | 'h:mm:ss a zzzz' | 9:03:01 AM GMT+01:00 |
Пользовательские параметры формата
Можно составить строку формата, используя символы для указания компонентов значения даты и времени, как описано в таблице ниже. Детали формата зависят от локали. Поля, помеченные звездочкой (*), доступны только в дополнительном наборе данных для указанной локали.
| Тип поля | Формат | Описание | Пример значения |
|---|---|---|---|
| Эра | G, GG & GGG | Сокращённый | AD |
| GGGG | Полный | Anno Domini | |
| GGGGG | Краткий | A | |
| Год | y | Числовой: минимальное количество цифр | 2, 20, 201, 2017, 20173 |
| yy | Числовой: 2 цифры с ведущим нулём | 02, 20, 01, 17, 73 | |
| yyy | Числовой: 3 цифры с ведущими нулями | 002, 020, 201, 2017, 20173 | |
| yyyy | Числовой: не менее 4 цифр с ведущими нулями | 0002, 0020, 0201, 2017, 20173 | |
| Год по ISO с нумерацией недель | Y | Числовой: минимальное количество цифр | 2, 20, 201, 2017, 20173 |
| YY | Числовой: 2 цифры с ведущим нулём | 02, 20, 01, 17, 73 | |
| YYY | Числовой: 3 цифры с ведущими нулями | 002, 020, 201, 2017, 20173 | |
| YYYY | Числовой: не менее 4 цифр с ведущими нулями | 0002, 0020, 0201, 2017, 20173 | |
| Месяц | M | Числовой: 1 цифра | 9, 12 |
| MM | Числовой: 2 цифры с ведущим нулём | 09, 12 | |
| MMM | Сокращённый | Sep | |
| MMMM | Полный | September | |
| MMMMM | Краткий | S | |
| Месяц отдельно | L | Числовой: 1 цифра | 9, 12 |
| LL | Числовой: 2 цифры с ведущим нулём | 09, 12 | |
| LLL | Сокращённый | Sep | |
| LLLL | Полный | September | |
| LLLLL | Краткий | S | |
| Неделя года по ISO | w | Числовой: минимальное количество цифр | 1... 53 |
| ww | Числовой: 2 цифры с ведущим нулём | 01... 53 | |
| Неделя месяца | W | Числовой: 1 цифра | 1... 5 |
| День месяца | d | Числовой: минимальное количество цифр | 1 |
| dd | Числовой: 2 цифры с ведущим нулём | 01 | |
| День недели | E, EE & EEE | Сокращённый | Tue |
| EEEE | Полный | Tuesday | |
| EEEEE | Краткий | T | |
| EEEEEE | Короткий | Tu | |
| День недели отдельно | c, cc | Числовой: 1 цифра | 2 |
| ccc | Сокращённый | Tue | |
| cccc | Полный | Tuesday | |
| ccccc | Краткий | T | |
| cccccc | Короткий | Tu | |
| Период суток | a, aa & aaa | Сокращённый | am/pm or AM/PM |
| aaaa | Полный (если отсутствует, используется a) | ante meridiem/post meridiem | |
| aaaaa | Краткий | a/p | |
| Период суток* | B, BB & BBB | Сокращённый | mid. |
| BBBB | Полный | am, pm, midnight, noon, morning, afternoon, evening, night | |
| BBBBB | Краткий | md | |
| Период суток отдельно* | b, bb & bbb | Сокращённый | mid. |
| bbbb | Полный | am, pm, midnight, noon, morning, afternoon, evening, night | |
| bbbbb | Краткий | md | |
| Час от 1 до 12 | h | Числовой: минимальное количество цифр | 1, 12 |
| hh | Числовой: 2 цифры с ведущим нулём | 01, 12 | |
| Час от 0 до 23 | H | Числовой: минимальное количество цифр | 0, 23 |
| HH | Числовой: 2 цифры с ведущим нулём | 00, 23 | |
| Минута | m | Числовой: минимальное количество цифр | 8, 59 |
| mm | Числовой: 2 цифры с ведущим нулём | 08, 59 | |
| Секунда | s | Числовой: минимальное количество цифр | 0... 59 |
| ss | Числовой: 2 цифры с ведущим нулём | 00... 59 | |
| Доли секунды | S | Числовой: 1 цифра | 0... 9 |
| SS | Числовой: 2 цифры с ведущим нулём | 00... 99 | |
| SSS | Числовой: 3 цифры с ведущими нулями (= миллисекунды) | 000... 999 | |
| Часовой пояс | z, zz & zzz | Краткий специфический формат без указания местоположения (при отсутствии используется O) | GMT-8 |
| zzzz | Полный специфический формат без указания местоположения (при отсутствии используется OOOO) | GMT-08:00 | |
| Z, ZZ & ZZZ | Базовый формат ISO 8601 | -0800 | |
| ZZZZ | Полный локализованный формат GMT | GMT-8:00 | |
| ZZZZZ | Расширенный формат ISO 8601 + индикатор Z для смещения 0 (= XXXXX) | -08:00 | |
| O, OO & OOO | Краткий локализованный формат GMT | GMT-8 | |
| OOOO | Полный локализованный формат GMT | GMT-08:00 |
Примеры формата
В этих примерах дата преобразуется в различные форматы. Предполагается, что dateObj — это объект JavaScript Date со значениями: год — 2015, месяц — 6, день — 15, час — 21, минута — 43, секунда — 11; дата задана в местном времени для локали en-US.
{{ dateObj | date }} // output is 'Jun 15, 2015'
{{ dateObj | date:'medium' }} // output is 'Jun 15, 2015, 9:43:11 PM'
{{ dateObj | date:'shortTime' }} // output is '9:43 PM'
{{ dateObj | date:'mm:ss' }} // output is '43:11'
{{ dateObj | date:"MMM dd, yyyy 'at' hh:mm a" }} // output is 'Jun 15, 2015 at 09:43 PM' Пример использования
Следующий компонент использует канал даты, чтобы отображать текущую дату в разных форматах.
@Component({
selector: 'date-pipe',
template: `<div>
<p>Today is {{today | date}}</p>
<p>Or if you prefer, {{today | date:'fullDate'}}</p>
<p>The time is {{today | date:'h:mm a z'}}</p>
</div>`
})
// Get the current date and time as a date-time value.
export class DatePipeComponent {
today: number = Date.now();
}
Super-powered by Google ©2010–2025.
Code licensed under an MIT-style License. Documentation licensed under CC BY 4.0.
https://angular.dev/api/common/DatePipe