Como pegar a data de hoje:
hoje = new Date()
// Wed Nov 03 2021 00:32:40 GMT-0300 (Horário Padrão de Brasília)
hojeEmMilissegundos = new Date().getTime()
// 1635910390635 timestamp da variável hoje
Montando seu objeto Date com datas externas:
hora = 12;
minuto = 22;
dia = 13;
mes = 6;
ano = 1999;
Data = new Date(this.ano, this.mes-1, this.dia, this.hora, this.minuto);
// Sun Jun 13 1999 12:22:00 GMT-0300 (Horário Padrão de Brasília)
// O campo mês funciona como um array, então lembre-se de subtrair sempre -1 para obter o mês correto, por exemplo junho seria 5.
// Para fins de controle, monte constantes para evitar magic numbers.
Outra forma de montar seu date, é a partir de timestamp:
timeStampX = '1235912694912';
outroDia = new Date(this.timeStampX)
// Sun Mar 01 2009 10:04:54 GMT-0300 (Horário Padrão de Brasília)
Montando a partir de uma String:
aDate = "31-03-2015";
myDate = this.aDate.split("-"); // array de strings
newDate = new Date( parseInt(this.myDate[2]), parseInt(this.myDate[1]) - 1, parseInt(this.myDate[0]));
// Tue Mar 31 2015 00:00:00 GMT-0300 (Horário Padrão de Brasília)
Inserindo dados a partir de uma Data formada
outroDia = new Date(1235912694912);
// Sun Mar 01 2009 10:04:54 GMT-0300 (Horário Padrão de Brasília)
outroDiaComHoraModificada = new Date(this.outroDia).setHours(12)
// Retorna um timestamp atualizado
outroHorario = new Date(this.outroDiaComHoraModificada);
// Sun Mar 01 2009 12:04:54 GMT-0300 (Horário Padrão de Brasília)
// É possível fazer modificações em outros campos como ano, dia, mês, minuto e outros!
// outra forma:
hoje = new Date();
// Wed Nov 03 2021 02:25:46 GMT-0300 (Horário Padrão de Brasília)
depoisDeAmanhaMili = new Date().setDate(this.hoje.getDate() + 2);
depoisDeAmanha = new Date(this.depoisDeAmanhaMili);
// Fri Nov 05 2021 02:25:46 GMT-0300 (Horário Padrão de Brasília)
Obtendo o momento agora para validações:
agoraEmMilissegundos = Date.now();
// 1635911694912 timestamp do momento agora
agoraDate = new Date(this.agoraEmMilissegundos);
// Wed Nov 03 2021 00:54:54 GMT-0300 (Horário Padrão de Brasília)
Obtendo dados a partir de um objeto Date:
outroDia = new Date(1235912694912)
// Sun Mar 01 2009 10:04:54 GMT-0300 (Horário Padrão de Brasília)
hora = new Date(this.outroDia).getHours(); // 10
minuto = new Date(this.outroDia).getMinutes(); // 4
segundo = new Date(this.outroDia).getSeconds(); // 54
dia = new Date(this.outroDia).getDate(); // 1
mes = new Date(this.outroDia).getMonth()+1;
// 3, lembre-se que os meses funcionam como array, sempre confira o valor!
ano = new Date(this.outroDia).getFullYear(); // 2009
Validando duas datas, entre maior e menor:
diaX = new Date(1235912694912);
// Sun Mar 01 2009 10:04:54 GMT-0300 (Horário Padrão de Brasília)
diaY = new Date(1465912694912);
// Tue Jun 14 2016 10:58:14 GMT-0300 (Horário Padrão de Brasília)
validarDiaMaior(){
let diaMaior;
if(this.diaX > this.diaY){
diaMaior = this.diaX;
}else{
diaMaior = this.diaY;
}
return diaMaior;
// Tue Jun 14 2016 10:58:14 GMT-0300 (Horário Padrão de Brasília);
}
Obtendo a maior data e menor data de um array de datas:
datas = [
1235912694912,
// Sun Mar 01 2009 10:04:54 GMT-0300 (Horário Padrão de Brasília)
1465912694912,
// Tue Jun 14 2016 10:58:14 GMT-0300 (Horário Padrão de Brasília)
1365912694912,
// Sun Apr 14 2013 01:11:34 GMT-0300 (Horário Padrão de Brasília)
1362212694912,
// Sat Mar 02 2013 05:24:54 GMT-0300 (Horário Padrão de Brasília)
1344212694912,
// Sun Aug 05 2012 21:24:54 GMT-0300 (Horário Padrão de Brasília)
];
min = Math.min(...this.datas);
max = Math.max(...this.datas);
menorData = new Date(this.min);
// Sun Mar 01 2009 10:04:54 GMT-0300 (Horário Padrão de Brasília)
maiorData = new Date(this.max);
// Tue Jun 14 2016 10:58:14 GMT-0300 (Horário Padrão de Brasília)
Obtendo a porcentagem entre duas datas comparado com hoje:
start = new Date(1989, 0, 1).getTime();
// Sun Jan 01 1989 00:00:00 GMT-0200 (Horário de Verão de Brasília) em Timestamp
end = new Date(2089, 0, 1).getTime();
// Sat Jan 01 2089 00:00:00 GMT-0300 (Horário de Verão de Brasília) em Timestamp
today = new Date().getTime();
// Wed Nov 03 2021 03:04:05 GMT-0300 (Horário Padrão de Brasília) em Timestamp
p = Math.round(((this.today - this.start) / (this.end - this.start)) * 100) + '%'; // 33%
Espero ter ajudado!