Skip to content

Latest commit

 

History

History
444 lines (301 loc) · 9.08 KB

API-reference.md

File metadata and controls

444 lines (301 loc) · 9.08 KB

Referência da API

Ao invés de modificar o 'Date.prototype' nativo, o Day.js empacota o objeto nativo Date em um objeto Dayjs.

Este objeto Dayjs é imutável, ou seja, todas as operações desta API irão retornar um novo objeto Dayjs.


O Day.js sempre irá retornar um novo objeto Dayjs se nada for especificado.

Criação

Pode-se criar objetos Dayjs chamando dayjs(), passando um dos vários tipos de parâmetro disponíveis.

Data e hora atual

Se não passar nenhum parâmetro, o objeto Dayjs usará a data e hora atual.

dayjs();

String

String que atende ao formato ISO 8601.

dayjs(String);
dayjs('1995-12-25');

Unix Timestamp (millisegundos)

Valor inteiro representando o número de milissegundos desde o Unix Epoch (meio-dia de 1º de janeiro de 1970, no fuso horário UTC).

dayjs(Number);
dayjs(1318781876406);

Date

Objeto Date nativo do Javascript.

dayjs(Date);
dayjs(new Date(2018, 8, 18));

Clonar

Todos os objetos Dayjs são imutáveis. Se quiser uma cópia, simplesmente chame .clone(). Chamar dayjs() passando um objeto Dayjs também irá cloná-lo.

dayjs(Dayjs);
dayjs().clone();

Validação

  • retorna um Boolean

Se a data do objeto Dayjs é considerada válida.

dayjs().isValid();

Get e Set

Obter (get) e modificar (set) datas.

Ano

  • retorna um Number.
dayjs().year();

Mês

  • retorna um Number
dayjs().month();

Dia do Mês

  • retorna um Number
dayjs().date();

Dia da Semana

  • retorna um Number
dayjs().day();

Hora

  • retorna um Number
dayjs().hour();

Minuto

  • retorna um Number
dayjs().minute();

Segundo

  • retorna um Number
dayjs().second();

Milisegundo

  • retorna um Number
dayjs().millisecond();

Set

Modificar a data. As unidades não fazem distinção entre maiúsculas e minúsculas.

dayjs().set((unit: String), (value: Int));
dayjs().set('month', 3); // Abril
dayjs().set('second', 30);

Manipulação

É possível manipular um objeto Dayjs de várias formas. Por exemplo:

dayjs()
  .startOf('month')
  .add(1, 'day')
  .subtract(1, 'year');

Adicionar Tempo

Novo objeto Dayjs com tempo adicionado.

dayjs().add((value: Number), (unit: String));
dayjs().add(7, 'day');

Subtrair Tempo

Novo objeto Dayjscom tempo subtraído.

dayjs().subtract((value: Number), (unit: String));
dayjs().subtract(7, 'year');

Começo do Tempo

Novo objeto Dayjscom tempo voltado para o começo da unidade de tempo passada.

dayjs().startOf((unit: String));
dayjs().startOf('year');

Fim do Tempo

Novo objeto Dayjscom tempo adiantado para o fim da unidade de tempo passada.

dayjs().endOf((unit: String));
dayjs().endOf('month');

Visualização

Existem várias maneiras de mostrar o objeto Dayjs para o usuário.

Formatar

  • retorna uma string

Recebe uma string com símbolos que serão substituídos por seus valores correspondentes.

dayjs().format(String);
dayjs().format(); // "2014-09-08T08:02:17-05:00" (ISO 8601, sem fração de segundo)
dayjs().format('{YYYY} MM-DDTHH:mm:ssZ[Z]'); // "{2014} 09-08T08:02:17-05:00Z"
  • Para não processar caracteres na string passada como parâmetro, coloque-os entre chaves (ex: [Z]).

Lista de todos os formatos disponíveis:

Formato Saída Descrição
YY 18 Ano, com 2 dígitos
YYYY 2018 Ano, com 4 dígitos
M 1-12 Mês (começa em 1)
MM 01-12 Mês, com 2 dígitos
MMM Jan-Dec Nome do mês abreviado
MMMM January-December Nome do mês completo
D 1-31 Dia do mês
DD 01-31 Dia do mês, com 2 dígitos
d 0-6 Dia da semana (Domingo = 0)
dddd Sunday-Saturday Nome do dia da semana
H 0-23 Hora
HH 00-23 Hora, com 2 dígitos
h 1-12 Hora (formato de 12 horas)
hh 01-12 Hora, com 2 dígitos (formato de 12 horas)
m 0-59 Minuto
mm 00-59 Minuto, com 2 dígitos
s 0-59 Segundo
ss 00-59 Segundo, com 2 dígitos
SSS 000-999 Milisegundo, com 3 dígitos
Z +5:00 Diferença do fuso horário UTC
ZZ +0500 Diferença do fuso horário UTC, com 2 dígitos
A AM PM
a am pm

Diferença

  • retorna um Number

Diferença de dois objetos Dayjs em milissegundos ou outra unidade de tempo especificada.

dayjs().diff(Dayjs, unit);
dayjs().diff(dayjs(), 'years'); // 0

Unix Timestamp (milissegundos)

  • retorna um Number

Número de milissegundos desde o Unix Epoch.

dayjs().valueOf();

Unix Timestamp (segundos)

  • retorna um Number

Número de segundos desde o Unix Epoch.

dayjs().unix();

Dias no Mês

  • retorna um Number

Número de dias no mês atual.

dayjs().daysInMonth();

Como Date do Javascript

  • retorna um objeto Date do Javascript

Obter cópia de um objeto Date nativo a partir do objeto Dayjs.

dayjs().toDate();

Como Array

  • retorna um Array

Retorna um array no formato dos parâmetros de new Date().

dayjs().toArray(); //[2018, 8, 18, 00, 00, 00, 000];

Como JSON

  • retorna uma string

Ao serializar um objeto Dayjs para JSON, retornará uma string no padrão ISO 8601.

dayjs().toJSON(); //"2018-08-08T00:00:00.000Z"

Como String ISO 8601

  • retorna uma string

Retorna uma string no padrão ISO 8601.

dayjs().toISOString();

Como Object

  • retorna um Object

Retorna um Object contendo de ano a milisegundo.

dayjs().toObject(); // { years:2018, months:8, date:18, hours:0, minutes:0, seconds:0, milliseconds:0}

Como String

  • retorna uma string
dayjs().toString();

Verificação

Antes

  • retorna um Boolean

Se a data de um objeto Dayjs é anterior à de outro objeto Dayjs.

dayjs().isBefore(Dayjs);
dayjs().isBefore(dayjs()); // false

Igual

  • retorna um Boolean

Se a data de um objeto Dayjs é igual à de outro objeto Dayjs.

dayjs().isSame(Dayjs);
dayjs().isSame(dayjs()); // true

Depois

  • retorna um Boolean

Se a data de um objeto Dayjs é posterior à de outro objeto Dayjs.

dayjs().isAfter(Dayjs);
dayjs().isAfter(dayjs()); // false

Ano Bissexto

  • retorna um Boolean

Se um ano é bissexto.

dayjs().isLeapYear();
dayjs('2000-01-01').isLeapYear(); // true

Plugin APIs

RelativeTime

.from .to .fromNow .toNow to get relative time

plugin RelativeTime