Ao invés de modificar o Date.prototype
nativo, o Day.js empacota o objeto nativo Date
em um objeto Dayjs
.
O objeto Dayjs
é imutável, ou seja, todas as operações da API que alteram o objeto Dayjs
irão retornar uma nova instancia deste objeto.
- Referência da API
- Conversões
- Get and Set
- Manipulando
- Exibindo
- Formatação
.format(stringWithTokens: string)
- Diferença
.diff(compared: Dayjs, unit: string (padrão: 'milliseconds'), float?: boolean)
- Unix Timestamp (milissegundos)
.valueOf()
- Unix Timestamp (segundos)
.unix()
- Dias no Mês
.daysInMonth()
- Como objeto
Date
do Javascript.toDate()
- Como Array
.toArray()
- Como JSON
.toJSON()
- Como uma string ISO 8601
.toISOString()
- Como Objeto
.toObject()
- Como String
.toString()
- Formatação
- Consulta
- Plugin APIs
Chamando este construtor sem parâmetros, será retornado um objeto Dayjs
contendo a data e hora atual.
dayjs();
Day.js também converte outros formatos de data.
string ISO 8601
dayjs('2018-04-04T16:00:00.000Z');
dayjs(new Date(2018, 8, 18));
dayjs(1318781876406);
Returns a Dayjs
from a Unix timestamp (seconds since the Unix Epoch)
dayjs.unix(1318781876);
dayjs.unix(1318781876.721);
- parse custom formats
dayjs("12-25-1995", "MM-DD-YYYY")
in pluginCustomParseFormat
Retorna um objeto Dayjs
clonado.
dayjs().clone();
dayjs(dayjs('2019-01-25')); // passando um objeto Dayjs para o construtor também irá cloná-lo
Retorna um boolean
indicando se a data do objeto Dayjs
é válida.
dayjs().isValid();
Retorna um number
representando o ano do objeto Dayjs
.
dayjs().year();
Retorna um number
representando o mês do objeto Dayjs
.
dayjs().month();
Retorna um number
representando o dia do mês do objeto Dayjs
.
dayjs().date();
Retorna um number
representando o dia da semana do objeto Dayjs
.
dayjs().day();
Retorna um number
representando a hora do objeto Dayjs
.
dayjs().hour();
Retorna um number
representando os minutos do objeto Dayjs
.
dayjs().minute();
Retorna um number
representando os segundos do objeto Dayjs
.
dayjs().second();
Retorna um number
representando os milissegundos do objeto Dayjs
.
dayjs().millisecond();
Retorna um Dayjs
com as mudanças aplicadas.
dayjs().set('date', 1);
dayjs().set('month', 3); // April
dayjs().set('second', 30);
Unidade | Shorthand | Descrição |
---|---|---|
date |
Data do Mês | |
day |
d |
Dia da Semana (Domingo como 0, Sábado como 6) |
month |
M |
Mês |
year |
y |
Ano |
hour |
h |
Hora |
minute |
m |
Minuto |
second |
s |
Segundo |
millisecond |
ms |
Milissegundo |
Um objeto Dayjs
pode ser manipulado de várias maneiras.
dayjs('2019-01-25')
.add(1, 'day')
.subtract(1, 'year').toString(); // Fri, 26 Jan 2018 00:00:00 GMT
Retorna um objeto Dayjs
clonado com a quantidade especificada de dias adicionados.
dayjs().add(7, 'day');
Retorna um objeto Dayjs
clonado com a quantidade especificada de dias subtraídos.
dayjs().subtract(7, 'year');
Retorna um objeto Dayjs
clonado definido com o começo da unidade de tempo especificada.
dayjs().startOf('week');
Retorna um objeto Dayjs
clonado definido com o fim da unidade de tempo especificada.
dayjs().endOf('month');
Retorna uma string
com um objeto Dayjs
contendo a data formatada.
Para escapar caracteres, envolva-os entre colchetes ou chaves (por exemplo: [G] {um}
).
dayjs().format(); // current date in ISO6801, without fraction seconds e.g. '2020-04-02T08:02:17-05:00'
dayjs('2019-01-25').format('{YYYY} MM-DDTHH:mm:ssZ[Z]'); // '{2019} 01-25T00:00:00-02:00Z'
dayjs('2019-01-25').format('DD/MM/YYYY'); // '25/01/2019'
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) |
dd |
Su-Sa | The min name of the day of the week |
ddd |
Sun-Sat | The short name of the day of the week |
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 |
- Mais formatos disponíveis
Q Do k kk X x ...
no pluginAdvancedFormat
Retorna um number
indicando a diferença entre dois objetos Dayjs
na unidade especificada.
const date1 = dayjs('2019-01-25');
const date2 = dayjs('2018-06-05');
date1.diff(date2); // 20214000000
date1.diff(date2, 'month'); // 7
date1.diff(date2, 'month', true); // 7.645161290322581
date1.diff(date2, 'day'); // 233
Retorna um number
em milissegundos desde a Unix Epoch para o objeto Dayjs
.
dayjs('2019-01-25').valueOf(); // 1548381600000
Retorna um number
em segundos desde a Unix Epoch para o objeto Dayjs
.
dayjs('2019-01-25').unix(); // 1548381600
Retorna um number
em contendo o número de dias no mês do objeto Dayjs
.
dayjs('2019-01-25').daysInMonth(); // 31
Retorna uma cópia do objeto nativo Date
convertido de um objeto Dayjs
.
dayjs('2019-01-25').toDate();
Retorna um array
que espelha os parâmetros de um new Date().
dayjs('2019-01-25').toArray(); // [ 2019, 0, 25, 0, 0, 0, 0 ]
Retorna o objeto Dayjs
formatado em uma string
ISO8601.
dayjs('2019-01-25').toJSON(); // '2019-01-25T02:00:00.000Z'
Retorna o objeto Dayjs
formatado em uma string
ISO8601.
dayjs('2019-01-25').toISOString(); // '2019-01-25T02:00:00.000Z'
Retorna um object
com as propriedades da data.
dayjs('2019-01-25').toObject();
/* { years: 2019,
months: 0,
date: 25,
hours: 0,
minutes: 0,
seconds: 0,
milliseconds: 0 } */
Retorna uma representação em string
da data.
dayjs('2019-01-25').toString(); // 'Fri, 25 Jan 2019 02:00:00 GMT'
Retorna um boolean
indicando se a data do objeto Dayjs
é antes da data fornecida de em outro objeto Dayjs
.
dayjs().isBefore(dayjs()); // false
dayjs().isBefore(dayjs(), 'year'); // false
Retorna um boolean
indicando se a data do objeto Dayjs
é a mesma data fornecida de em outro objeto Dayjs
.
dayjs().isSame(dayjs()); // true
dayjs().isSame(dayjs(), 'year'); // true
Retorna um boolean
indicando se a data do objeto Dayjs
é depois da data fornecida de em outro objeto Dayjs
.
dayjs().isAfter(dayjs()); // false
dayjs().isAfter(dayjs(), 'year'); // false
Retorna um boolean
indicando se a variável é um objeto Dayjs
ou não.
dayjs.isDayjs(dayjs()); // true
dayjs.isDayjs(new Date()); // false
The operator instanceof
works equally well:
dayjs() instanceof dayjs // true
.from
.to
.fromNow
.toNow
para obter o tempo relativo
plugin RelativeTime
.isLeapYear
para obter um ano bissexto ou não
plugin IsLeapYear
.week
para obter a semana do ano
plugin WeekOfYear
.isSameOrAfter
to check if a date is same of after another date
plugin IsSameOrAfter
.isSameOrBefore
to check if a date is same of before another date.
plugin IsSameOrBefore
.isBetween
para verificar se uma data está entre duas outras datas
plugin IsBetween
.quarter
to get quarter of the year
plugin QuarterOfYear