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)
- Difference
.diff(compared: Dayjs, unit?: string, float?: boolean)
- Unix Timestamp (milissegundos)
.valueOf()
- Unix Timestamp (segundos)
.unix()
- UTC offset (minutes)
.utcOffset()
- Dias no Mês
.daysInMonth()
- Como objeto
Date
do Javascript.toDate()
- Como JSON
.toJSON()
- Como uma string ISO 8601
.toISOString()
- Como String
.toString()
- Formatação
- Consulta
- UTC
- 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()
Gets or sets the year.
dayjs().year()
dayjs().year(2000)
Gets or sets the month. Starts at 0
dayjs().month()
dayjs().month(0)
Gets or sets the day of the month. Starts at 1
dayjs().date()
dayjs().date(1)
Gets or sets the day of the week. Starts on Sunday with 0
dayjs().day()
dayjs().day(0)
Gets or sets the hour.
dayjs().hour()
dayjs().hour(12)
Gets or sets the minute.
dayjs().minute()
dayjs().minute(59)
Gets or sets the second.
dayjs().second()
dayjs().second(1)
Gets or sets the millisecond.
dayjs().millisecond()
dayjs().millisecond(1)
Returns a number
with information getting from Dayjs
object
dayjs().get('month') // start 0
dayjs().get('day')
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 (January as 0, December as 11) |
year |
y |
Ano |
hour |
h |
Hora |
minute |
m |
Minuto |
second |
s |
Segundo |
millisecond |
ms |
Milissegundo |
Retorna um Dayjs
com as mudanças aplicadas.
dayjs().set('date', 1)
dayjs().set('month', 3) // April
dayjs().set('second', 30)
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') // Depends on `weekStart` in locale
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 (por exemplo: [A] [MM]
).
dayjs().format() // current date in ISO8601, without fraction seconds e.g. '2020-04-02T08:02:17-05:00'
dayjs('2019-01-25').format('[YYYY] YYYY-MM-DDTHH:mm:ssZ[Z]') // 'YYYY 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
- Localized format options
L LT LTS ...
in pluginLocalizedFormat
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 default milliseconds
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
Returns the UTC offset in minutes for the Dayjs
.
dayjs().utcOffset()
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 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 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
If you want to parse or display in UTC, you can use .utc
.local
.isUTC
with plugin UTC
.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
.weekday
to get or set locale aware day of the week
plugin WeekDay
.isoWeeksInYear
to get the number of weeks in year
plugin IsoWeeksInYear
.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
.toArray
to return an array
that mirrors the parameters
plugin ToArray
.toObject
to return an object
with the date's properties.
plugin ToObject
.min
.max
to compare given dayjs instances.
plugin MinMax
.calendar
to display calendar time
plugin Calendar