Estou usando o date
pipe para formatar minha data, mas não consigo obter o formato exato desejado sem uma solução alternativa. Estou entendendo mal os tubos ou simplesmente não é possível?
//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
canal tem vários problemas atualmente.Respostas:
Erro de formato de data do pipe corrigido no Angular 2.0.0-rc.2, esta solicitação de recebimento .
Agora podemos fazer da maneira convencional:
Exemplos:
Versão Atual:
Example Angular 8.x.x
Versões antigas:
Example Angular 7.x
Example Angular 6.x
Example Angular 4.x
Example Angular 2.x
fonte
<input #dob="ngModel" [(ngModel)]="model.dob" [ngClass]="{ 'is-invalid': f.submitted && dob.invalid }" class="form-control" id="dob" name="dob" required type="date" />
Como posso consertar isso ?Importe o DatePipe de angular / comum e use o código abaixo:
onde userdate será sua string de data. Veja se isso ajuda.
Anote as letras minúsculas para data e ano:
EDITAR
Você deve passar a
locale
string como argumento para o DatePipe, na última angular. Eu testei no angular 4.xPor exemplo:
fonte
Supplied parameters do not match any signature of call target.
emnew DatePipe()
new DatePipe('en-US');
Você pode conseguir isso usando um simples tubo personalizado.
A vantagem de usar um canal personalizado é que, se você quiser atualizar o formato da data no futuro, poderá atualizar seu canal personalizado e ele refletirá em todos os lugares.
Exemplos de tubos personalizados
fonte
Eu sempre uso o Moment.js quando preciso usar datas por qualquer motivo.
Tente o seguinte:
E na visão:
fonte
moment
biblioteca é muito grande para um trabalho pequeno como o formato!Estou usando esta solução temporária:
fonte
Se alguém olhando com hora e fuso horário, isso é para você
adicione z para o fuso horário no final do formato de data e hora
fonte
Angular: 8.2.11
Saída: 9 de junho de 1973
Saída: 09/06/1973
Saída: 09/06/1973 12:00 AM
fonte
A única coisa que funcionou para mim foi inspirada a partir daqui: https://stackoverflow.com/a/35527407/2310544
Para dd / MM / aaaa puro, isso funcionou para mim, com o angular 2 beta 16:
fonte
Se alguém puder exibir a data com hora em AM ou PM na angular 6, isso é para você.
Resultado
Opções de formato predefinidas
Exemplos são dados em localidade en-US.
Link de referência
fonte
Eu acho que é porque o código do idioma está codificado no
DatePipe
. Veja este link:E não há como atualizar esse código de idioma por configuração no momento.
fonte
Os pipes de data não se comportam corretamente no Angular 2 com o navegador Typescript para Safari no MacOS e iOS. Eu enfrentei esse problema recentemente. Eu tive que usar o momento js aqui para resolver o problema. Mencionando o que fiz em resumo ...
Adicione o pacote momentjs npm no seu projeto.
Em xyz.component.html, (observe aqui que startDateTime é do tipo string de dados)
{{ convertDateToString(objectName.startDateTime) }}
import * as moment from 'moment';
fonte
Você pode encontrar mais informações sobre o canal de datas aqui , como formatos.
Se você quiser usá-lo em seu componente, você pode simplesmente fazer
Agora, você pode simplesmente usar seu método de transformação, que será
fonte
Você precisa passar a sequência de código do idioma como argumento para DatePipe.
Opções de formato predefinidas:
adicione o datepipe em app.component.module.ts
fonte
Você também pode usar momentjs para esse tipo de coisa. O Momentjs é melhor para analisar, validar, manipular e exibir datas em JavaScript.
Eu usei este cachimbo da Urish, que funciona bem para mim:
https://github.com/urish/angular2-moment/blob/master/src/DateFormatPipe.ts
No parâmetro args, você pode colocar seu formato de data como: "dd / mm / aaaa"
fonte
No meu caso, eu uso no arquivo de componente:
E no arquivo HTML do componente
Isso funciona bem para mim ;-)
fonte