Как преобразовать дату в этот формат "yyyy-MM-dd" в угловом 2

Я хочу преобразовать текущие данные в формат 'yyyy-MM-dd' в файле.ts. i, это можно легко сделать, используя канал данных. как это сделать в машинописном тексте.

В шаблоне:

{{date  | date:'yyyy-MM-dd'}}

Как преобразовать в этом формате 'yyyy-MM-dd' в машинописный текст.

теперь я просто получаю текущую дату, используя это.

this.date =  new Date();

но необходимо преобразовать его в заданный формат. Пожалуйста, помогите, как это сделать... Спасибо!

Ответы

Ответ 1

Дата может быть преобразована в машинописный текст в этот формат 'yyyy-MM-dd' с использованием Datepipe

import { DatePipe } from '@angular/common'
...
constructor(public datepipe: DatePipe){}
...
myFunction(){
 this.date=new Date();
 let latest_date =this.datepipe.transform(this.date, 'yyyy-MM-dd');
}

и просто добавьте Datepipe в массив провайдеров app.module.ts. Как это:

import { DatePipe } from '@angular/common'
...
providers: [DatePipe]

Ответ 2

Простое решение - просто написать

this.date = new Date().toLocaleDateString();

date .toLocaleDateString() time .toLocaleTimeString() как .toLocaleString()

Надеюсь это поможет.

Ответ 3

Вы также можете попробовать это.

рассмотрим сегодняшнюю дату '28 дек. 2018 '(например)

 this.date = new Date().toISOString().slice(0,10); 

new Date() we get as: Fri Dec 28 2018 11:44:33 GMT+0530 (India Standard Time)

toISOString преобразуется в: 2018-12-28T06: 15: 27.479Z

срез (0,10) мы получаем только первые 10 символов в качестве даты, которая содержит гггг-мм-дд: 2018-12-28.

Ответ 4

Я бы посоветовал вам взглянуть на Moment.js, если у вас есть проблемы с Angular. По крайней мере, это быстрый обходной путь, не тратя слишком много времени.

Ответ 5

С той же проблемой я столкнулся в своем проекте. Спасибо @Umar Rashed, но я собираюсь объяснить это подробно.

Во-первых, укажите Date Pipe из app.module:

providers: [DatePipe]

Импорт в ваш компонент и app.module:

import { DatePipe } from '@angular/common';

Во-вторых, объявите его в конструкторе:

constructor(
    public datepipe: DatePipe
  ) {

Даты приходят с сервера и анализируются на консоли следующим образом:

2000-09-19T00:00:00

Я конвертирую дату в то, что мне нужно с этим кодом; в TypeScript:

this.datepipe.transform(this.birthDate, 'dd/MM/yyyy')

Показать из шаблона HTML:

{{ user.birthDate }}

и это видно так:

19/09/2000

также видно на веб-сайте, как это: даты отображаются в виде фильтра (нажмите, чтобы увидеть скриншот)