Moment.js: uma biblioteca de datas em JavaScript

Saiba como utilizar a Moment.js. Uma biblioteca que converte, manipula, valida e apresenta datas em javascript.

Publicado por Talitha Medeiros
2016-09-01 22:00:00 +0000

Nem sempre é fácil lidar com tempo. Não só filosoficamente falando. Mesmo em desenvolvimento web, fazer cálculos de tempo é um desafio. A biblioteca Moment.s tem o intuito de facilitar o trabalho de manipulação de datas.

O que é a Moment.js?

Moment.js é uma biblioteca javascript disponível gratuitamente. Através dela é possível converter, manipular, validar e apresentar datas em javascript. Neste artigo vamos apresentar o Moment.js e mostrar alguns exemplos de utilização desta biblioteca.

Onde utilizar?

Moment foi desenvolvida para trabalhar tanto em browser quando em Node.js.

Node.js

Instale a moment usando o comando a seguir:

  npm install moment

Depois, faça um require() para poder utilizá-la na sua aplicação:

  var moment = require('moment');
  moment().format();

Browser

Para rodar a Moment no browser, faça o download do script e o inclua no html usando a tag <script>.

A Moment.js cria um objeto moment global que pode ser usado para acessar todas as funcionalidades de manipulação de datas.
  <script src="moment.js"></script>
	<script>
   	    moment().format();
	</script>

Começando com Moment.js

Através da Moment.js também é possível alterar o formato das datas de acordo com o país.

Comando para dizer à Moment.js o idioma utilizado para exibir as datas:

moment.locale('pt-BR');

Formato de data

É comum recorrer ao objeto Date para manipulação de datas.

Por exemplo, para converter date strings em Date objects, era preciso dividir as datas e depois fazer concatenações. Através da Moment.js esse processo é simplificado.

Conversões em formato Date são extremamente simples em Moment.js:

moment().format('YYYY MM DD');

Exemplo de uso:

var date = '2016-09-01';
var format = 'LLLL';
var result = moment(date).format(format);
Thrusday, September 1, 2016 12:00 AM

Calculando datas

Usando a Moment.js também é possível adicionar e subtrair datas. Vamos ao exemplo:

  • Adição de datas:
var date = new Date ('2016/08/31');
var dateString = moment(date).add(1, 'day').add(6,'months').format('1');
01/09/2016
  • Subtração de datas:
moment().subtract(10, 'days').calendar();
21/08/2016

Tempo relativo

O Moment.js também possui cálculo de tempo relativo. Para utilizá-lo, basta aplicar a sintaxe:

moment("20111031", "YYYYMMDD").fromNow();
5 years ago
moment("20120620", "YYYYMMDD").fromNow();
4 yares ago

Fontes