Spec-Zone.ru › Angular

DatePipe

Форматирует значение даты в соответствии с правилами локали.

formatDateВстроенные каналы

Использование канала

{{ 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

DatePipe
@paramlocalestring
@paramdefaultTimezonestring | null | undefined
@paramdefaultOptionsDatePipeConfig | null | undefined
@returnsDatePipe

transform

3 перегрузки
@paramvaluestring | number | Date

Выражение даты: объект Date, число (миллисекунды с начала эпохи UTC) или строка ISO (https://www.w3.org/TR/NOTE-datetime).

@paramformatstring | undefined

Компоненты даты и времени, которые нужно включить: предопределённые параметры или строка пользовательского формата. Если значение не указано, DatePipe ищет его с помощью токена внедрения DATE_PIPE_DEFAULT_OPTIONS (и считывает свойство dateFormat). Если токен не настроен, используется значение mediumDate.

@paramtimezonestring | undefined

Смещение часового пояса (например, '+0430'). Если значение не указано, DatePipe ищет его с помощью токена внедрения DATE_PIPE_DEFAULT_OPTIONS (и считывает свойство timezone). Если токен не настроен, используется часовой пояс локальной системы конечного пользователя.

@paramlocalestring | undefined

Код локали, задающий правила форматирования. Если значение не указано, используется значение LOCALE_ID, которое по умолчанию равно en-US. См. раздел Настройка локали приложения.

@returnsstring | null

Строка с датой в нужном формате.

@paramvaluenull | undefined
@paramformatstring | undefined
@paramtimezonestring | undefined
@paramlocalestring | undefined
@returnsnull
@paramvaluestring | number | Date | null | undefined
@paramformatstring | undefined
@paramtimezonestring | undefined
@paramlocalestring | undefined
@returnsstring | null

Описание

Форматирует значение даты в соответствии с правилами локали.

DatePipe выполняется только при обнаружении чистого изменения входного значения. Чистым изменением считается изменение примитивного входного значения (например, String, Number, Boolean или Symbol) либо изменение ссылки на объект (например, Date, Array, Function или Object).

Обратите внимание: изменение объекта Date не приводит к повторному выполнению канала. Чтобы канал выполнился снова, необходимо создать новый объект Date.

В Angular включены данные только для локали en-US. Чтобы локализовать даты на другом языке, необходимо импортировать соответствующие данные локали. Дополнительные сведения см. в руководстве по i18n.

Часовой пояс форматируемого значения можно задать, передав его вторым параметром канала, или указав значение по умолчанию с помощью токена внедрения DATE_PIPE_DEFAULT_OPTIONS. Значение, переданное вторым параметром, имеет приоритет над значением, заданным с помощью токена внедрения.


Экспортируется из

  • CommonModule

Примечания по использованию

Результат этого канала не пересчитывается при изменении входного значения. Чтобы не форматировать дату при каждом цикле обнаружения изменений, считайте дату неизменяемым объектом и меняйте ссылку на него, когда нужно повторно запустить канал.

Предопределённые параметры формата

Параметр Эквивалент Примеры (для локали 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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API