Function javascript date()

5 respostas
P

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

5 Respostas

D

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{
     //        
     }
P

Obrigado,funcionou.Só agora verificar como diminuir a quantidade de linhas de código.

Lucas_Camara

Recomendo a utilização do MomentJS.

Para criar uma data com MomentJS:

moment("15/04/2016", "DD/MM/YYYY");
P

Obrigado pelo dica.vou pesquisar um pouco mais sobre este plugin.

p4ulodi4s

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;
Criado 13 de abril de 2016
Ultima resposta 16 de abr. de 2016
Respostas 5
Participantes 4