Я использую date
канал для форматирования даты, но я не могу получить точный формат, который я хочу, без обходного пути. Я неправильно понимаю трубы или это просто невозможно?
//our root app component
import {Component} from 'angular2/core'
@Component({
selector: 'my-app',
providers: [],
template: `
<div>
<h2>Hello {{name}}</h2>
<h3>{{date | date: 'ddMMyyyy'}}, should be
{{date | date: 'dd'}}/{{date | date:'MM'}}/{{date | date: 'yyyy'}}</h3>
</div>
`,
directives: []
})
export class App {
constructor() {
this.name = 'Angular2'
this.date = new Date();
}
}
date
Труба имеет несколько проблем , в настоящее время.Ответы:
Исправлена ошибка форматирования даты в Angular 2.0.0-rc.2, этот запрос на извлечение .
Теперь мы можем сделать обычным способом:
Примеры:
Текущая версия:
Example Angular 8.x.x
Старые версии:
Example Angular 7.x
Example Angular 6.x
Example Angular 4.x
Example Angular 2.x
источник
<input #dob="ngModel" [(ngModel)]="model.dob" [ngClass]="{ 'is-invalid': f.submitted && dob.invalid }" class="form-control" id="dob" name="dob" required type="date" />
Как я могу это исправить ?Импортируйте DatePipe из angular / common, а затем используйте следующий код:
где userdate будет вашей строкой даты. Посмотрите, поможет ли это.
Запишите нижний регистр для даты и года:
РЕДАКТИРОВАТЬ
Вы должны передать
locale
строку в качестве аргумента DatePipe, в последнем угловом. Я проверил в угловых 4.xНапример:
источник
Supplied parameters do not match any signature of call target.
наnew DatePipe()
new DatePipe('en-US');
Вы можете добиться этого, используя простой пользовательский канал.
Преимущество использования пользовательского канала состоит в том, что, если вы хотите обновить формат даты в будущем, вы можете перейти и обновить свой пользовательский канал, и он будет отражать все, где.
Примеры пользовательских труб
источник
Я всегда использую Moment.js, когда мне нужно использовать даты по любой причине.
Попробуй это:
И в представлении:
источник
moment
библиотека слишком велика для такой маленькой работы, как формат!Я использую это временное решение:
источник
Если кто-то смотрит со временем и часовым поясом, это для вас
добавьте z для часового пояса в конце формата даты и времени
источник
Угловая: 8.2.11
Выход: 9 июня 1973 г.
Выход: 06.09.1973
Выходной: 06.09.1973, 00:00.
источник
Единственное, что сработало для меня, было вдохновлено отсюда: https://stackoverflow.com/a/35527407/2310544
Для чистого дд / мм / гггг это сработало для меня с angular 2 beta 16:
источник
Если кто-то может смотреть дату и время в AM или PM в угловых 6, то это для вас.
Вывод
Предопределенные параметры формата
Примеры приведены в локали en-US.
Ссылка Ссылка
источник
Я думаю, что это потому, что локаль жестко закодирована в
DatePipe
. Смотрите эту ссылку:И сейчас нет возможности обновить эту локаль по конфигурации.
источник
Каналы даты не работают правильно в Angular 2 с браузером Typescript для Safari на MacOS и iOS. Я столкнулся с этой проблемой недавно. Мне пришлось использовать момент JS здесь для решения проблемы. Упоминая, что я сделал вкратце ...
Добавьте в ваш пакет пакет momentjs npm.
В xyz.component.html (обратите внимание, что startDateTime имеет строку типа данных)
{{ convertDateToString(objectName.startDateTime) }}
import * as moment from 'moment';
источник
Вы можете найти больше информации о трубе даты здесь , такой как форматы.
Если вы хотите использовать его в своем компоненте, вы можете просто сделать
Теперь вы можете просто использовать его метод преобразования, который будет
источник
Вы должны передать строку локали в качестве аргумента DatePipe.
Предустановленные параметры формата:
добавить datepipe в app.component.module.ts
источник
Вы также можете использовать моменты для такого рода вещей. Momentjs лучше всего разбирает, проверяет, манипулирует и отображает даты в JavaScript.
Я использовал эту трубу из Уриша, которая прекрасно работает для меня:
https://github.com/urish/angular2-moment/blob/master/src/DateFormatPipe.ts
В параметре args вы можете указать формат даты: «дд / мм / гггг»
источник
В моем случае я использую в файле компонента:
И в компонентном файле HTML
Он отлично работает для меня ;-)
источник