Como exibir corretamente a data e a hora no AngularJS?
A saída abaixo mostra a entrada e a saída, com e sem o filtro de data AngularJS:
In: {{v.Dt}}
AngularJS: {{v.Dt | date:'yyyy-MM-dd HH:mm:ss Z'}}
Isso imprime:
In: 2012-10-16T17:57:28.556094Z
AngularJS: 2012-10-16T17:57:28.556094Z
O formato de exibição desejado é
2010-10-28 23:40:23 0400
ou2010-10-28 23:40:23 EST
Seu código deve funcionar como você vê neste violino .
Você precisará se certificar de que
v.Dt
é um objeto Date adequado para que ele funcione.ou se dateFormat estiver definido no escopo como dateFormat = 'aaaa-MM-dd HH: mm: ss Z':
fonte
Date
tipo de variável. O carimbo de data / hora por muito tempo também funciona bemEu sei que este é um item antigo, mas pensei em lançar outra opção a considerar.
Como a cadeia original não inclui o demarcador "T", a implementação padrão no Angular não a reconhece como uma data. Você pode forçá-lo usando a nova data, mas isso é um pouco trabalhoso em uma matriz. Como você pode canalizar os filtros juntos, você poderá usar um filtro para converter sua entrada em uma data e depois aplicar a data: filter na data convertida. Crie um novo filtro personalizado da seguinte maneira:
Em sua marcação, você pode canalizar os filtros juntos:
fonte
você pode obter o filtro 'date' assim:
Isso fornecerá a data de hoje no formato desejado.
fonte
Aqui está um filtro que usará uma string de data OU objeto javascript Date (). Ele usa Moment.js e pode aplicar qualquer função de transformação Moment.js , como a popular 'fromNow'
Assim...
seria exibido em 11 de novembro de 2014
seria exibido 10 minutos atrás
Se você precisar chamar várias funções de momento, poderá encadeá-las. Isso converte para UTC e depois formata ...
https://gist.github.com/cmmartin/341b017194bac09ffa1a
fonte
Aqui estão alguns exemplos populares:
<div>{{myDate | date:'M/d/yyyy'}}</div>
04/07/2014<div>{{myDate | date:'yyyy-MM-dd'}}</div>
04/07/2014<div>{{myDate | date:'M/d/yyyy HH:mm:ss'}}</div>
04/07/2014 12:01:59fonte
Você já viu a seção Diretrizes de escrita (versão curta) da documentação ?
HTML
JS
fonte
Dentro de um controlador, o formato pode ser filtrado injetando $ filter.
fonte
Simplificando, se você deseja exibir como "30 de janeiro de 2017 às 16:31:20", siga a etapa simples
Etapa 1 - Declarar a seguinte variável no controlador js
step2- exibir na página html como
{{current_time | data: 'médio'}}
fonte
podemos formatar a data no lado da vista em angular é muito fácil .... por favor, verifique o exemplo abaixo:
{{dt | data: "dd-MM-aaaa"}}
fonte
Você pode usar
momentjs
para implementar o filtro de data e hora no angularjs. Por exemplo:Onde a data está no formato de carimbo de data / hora.
fonte
Adicione
$filter
dependência no controlador.fonte
Eu sugiro que você use o moment.js, ele tem um bom suporte para a formatação de datas de acordo com as localidades.
crie um filtro que use internamente o método moment.js para formatar a data.
fonte