Angular - Получить формат в виде строки, используемый для отображения дат в соответствии с локалью.

Как получить формат в виде строки, используемой Angular для отображения дат? Я использую date труба после установки LOCALE_ID в моем app.module,

Теперь я хотел бы получить строку "dd/mm/yyyy", чтобы вставить мои входные заполнители.

В основном то, что описано здесь, но для Angular.

Спасибо

[редактировать]

Чтобы сделать это более явным, я не ищу способ форматирования дат, это уже сделано (с нативным date труба). Я хочу строку, которая представляет формат, используемый этим каналом.

Потому что я хотел бы, чтобы мой заполнитель даты был похож на

"Дата (формат: XXXXXX)"

и я хочу, чтобы часть "XXXXXX" была правильной (то есть "jj/mm/aaaa" для французского, "mm/dd/yyyy" для английского)

2 ответа

Я надеюсь, что тем временем вы столкнулись с getLocaleDateFormat() и getLocaleTimeFormat(). (Угловой 6)

import { getLocaleDateFormat, FormatWidth } from '@angular/common';
export class Foobar {
  constructor( @Inject( LOCALE_ID ) private locale: string ) { }

  private getDateFormat() {
    return getLocaleDateFormat( this.locale, FormatWidth.Short );
  }
}

Если вы хотите декларативно отформатировать дату в своем шаблоне:

{{ today | date: 'dd/MM/yyyy' }}

Если вы хотите обязательно получить отформатированную дату в коде:

import { DatePipe } from '@angular/common';
// in your component class
var date = new DatePipe().transform(today, 'dd/MM/yyyy')
Другие вопросы по тегам