Olá a todos.Estou com um pequeno problema na hora de pegar uma data com javascript.
Exemplo:
var data1=new Date($("#relDtInicioFichaID").val());
Da maneira acima,espero pegar duas datas e compara se uma é maior do que a outra,mas o que ocorre é que sempre que tento verificar o valor ele consta “Invalid Date”.
Gostaria de saber se tem algo de errado na escrita no código.
Obrigado.
Obs: Estou utilizando o datepicker do jquery ui,então a data vem formatada como 00/00/0000
Talvez te ajude
var s1 = document.getElementById("data1").value;
var ano1 = s1.substr(6,4)
var mes1 = s1.substr(3,2)
var dia1 = s1.substr(0,2)
datas1 = ano1+"/"+mes1+"/"+dia1;
var s2 = document.getElementById("data2").value;
var ano2 = s2.substr(6,4)
var mes2 = s2.substr(3,2)
var dia2 = s2.substr(0,2)
datas2 = ano2+"/"+mes2+"/"+dia2;
var newDateObj1 = new Date(datas1);
var newDateObj2 = new Date(datas2);
if(newDateObj1 <= newDateObj2){
//
}else{
//
}
Obrigado,funcionou.Só agora verificar como diminuir a quantidade de linhas de código.
Recomendo a utilização do MomentJS.
Para criar uma data com MomentJS:
moment("15/04/2016", "DD/MM/YYYY");
Obrigado pelo dica.vou pesquisar um pouco mais sobre este plugin.
Oi, tudo bem?
Qual a data que está no input?
No primeiro post você avisa que a data está no formato: 00/00/0000
Penso que deva estar da seguinte maneira:
DD/MM/YYYY
correto?
Se não estou enganado, o construtor Date espera que a string que contém a data separada por / esteja em um dos seguintes formatos:
MM/DD/YYYY ou YYYY/MM/DD
Assim sendo, a data não será construída como você espera ou será invalida. Por exemplo:
16/04/2016
Mês = 16;
Dia = 04;
Ano = 2016;