Comentários sobre: Data errada no Javascript? Bug? https://elcio.com.br/data-errada-no-javascript-bug/ HTML5, CSS, Tableless, Desenvolvimento Web, Python, Linux Wed, 12 Mar 2014 21:24:56 +0000 hourly 1 Por: Alexandre https://elcio.com.br/data-errada-no-javascript-bug/#comment-11177 Wed, 12 Mar 2014 21:24:56 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-11177 Algo curioso acontece e gostaria se alguém souber a resposta.Quando digito a minha data de nascimento 19/10/1980,sempre mostra como inválida em tudo crtão de crédito contas etc.Gostaria de saber por que!!

]]>
Por: bruno https://elcio.com.br/data-errada-no-javascript-bug/#comment-11039 Thu, 31 Oct 2013 13:19:52 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-11039 Basta setar o mês novamente… tipo chamar a função duas vezes para setar o mês!

date.setMonth(m – 1);

simples.

]]>
Por: Bruno Douglas https://elcio.com.br/data-errada-no-javascript-bug/#comment-10925 Mon, 15 Jul 2013 19:49:03 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-10925 Haha, por incrível que pareça em meados de 2013 passei por esse problema ao validar uma usando a função à baixo, pois ao colocar a data: 19/10/1980, sempre dizia que a data era inválida, adotei a solução comentada por Mateus Lazzarin “and now it works like a charm”!
function validarData(data)
{
var dia = data.substring(0,2)
var mes = data.substring(2,4)
var ano = data.substring(4)

//Criando um objeto Date usando os valores ano, mes e dia.
var novaData = new Date(ano,(mes-1),dia, 1,0,0);
var mesmoDia = parseInt(dia) == parseInt(novaData.getDate());
var mesmoMes = parseInt(mes) == parseInt(novaData.getMonth())+1;
var mesmoAno = parseInt(ano) == parseInt(novaData.getFullYear());

return ((mesmoDia) && (mesmoMes) && (mesmoAno))
}

]]>
Por: Ivo Filho https://elcio.com.br/data-errada-no-javascript-bug/#comment-8344 Tue, 20 Dec 2011 22:21:30 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-8344 O comentário do Mateus Lazzarin resolve todo o problema… Independente de o pc estar com ajuste automático para horário de verão ou não…. Basta ao criar o objeto Date, garantir que seja criado acima de uma hora da manha.

Valeu pela ótima percepção e ajuda.

]]>
Por: Mateus Lazzarin https://elcio.com.br/data-errada-no-javascript-bug/#comment-5222 Tue, 04 Nov 2008 17:19:58 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-5222 Carinha, é o seguinte.. eu tive problema com isso e achei uma solução.. Por padrão o windows configura o horario de verão para o segundo domingo de outubro em todos os anos (parece q existe uma atualização e isso se marcar pode ser interferido para o primeiro domingo de outubro por exemplo), portanto se vc utilizar 12/10/2008, 14/10/2007, 08/10/2006, 12/10;1980, etc, sempre o seu retorno será o dia anterior com horario de 23:00:00 pq o JavaScript atribui o a hora do dia passado como 00:00:00 por default caso vc não passe nada na função Date(), portanto: dia com 00:00:00 – 1 hora = dia anterior 23:00:00 correto?. Como burlar isso? Simples. Na função Date() do JavaScript force o horário passado dessa maneira –> new Date(2008,8,11, 01, 00, 00). Fazendo isso, vc garantirá o horário mesmo se o horário de verão retirar uma hora do dia.

Espero ter ajudado!!

]]>
Por: Julio Anderson https://elcio.com.br/data-errada-no-javascript-bug/#comment-5221 Wed, 01 Oct 2008 00:58:09 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-5221 Já tive esse problema em um projeto, é o horário de verão sim. Manda um..:

data = data.getUTCDate();

]]>
Por: Adriano https://elcio.com.br/data-errada-no-javascript-bug/#comment-5220 Mon, 22 Sep 2008 23:18:40 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-5220 Será mesmo por causa do horário de verão? Porque quanto o horário da máquina está em horário de verão, temos o BRST, e não BRT.

]]>
Por: Igor Escobar https://elcio.com.br/data-errada-no-javascript-bug/#comment-5219 Fri, 12 Sep 2008 13:48:32 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-5219 Fiz os testes que você menciona no blog, e não tive 1 hora de defasagem de um teste para o outro os 2 retornaram 00:00:00 rsrsrs

]]>
Por: Thiago H. Melo https://elcio.com.br/data-errada-no-javascript-bug/#comment-5218 Fri, 12 Sep 2008 11:33:08 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-5218 Élcio, se a função “Ajustar automaticamente para horário de verão” estiver habilitada no Windows, vai dar essa diferença.
Aqui no meu PC, está desabilitado e a hora apareceu corretamente.

]]>
Por: Elcio https://elcio.com.br/data-errada-no-javascript-bug/#comment-5217 Thu, 11 Sep 2008 18:12:11 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-5217 Não, Érico, é uma hora mesmo a diferença, está certo. Lembre-se que o mês 9, em javascript, é outubro.

Ciro, trouxe alguma luz, obrigado.

]]>
Por: Walter Cruz https://elcio.com.br/data-errada-no-javascript-bug/#comment-5216 Thu, 11 Sep 2008 17:29:04 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-5216 Horário de verão. Da especificação do JavaScript, seção 15.9.1.9: An implementation of ECMAScript is expected to determine the daylight saving time algorithm.

Um teste simples:

zdump -v Brazil/East|grep 2008
Brazil/East Sun Feb 17 01:59:59 2008 UTC = Sat Feb 16 23:59:59 2008 BRST isdst=1 gmtoff=-7200
Brazil/East Sun Feb 17 02:00:00 2008 UTC = Sat Feb 16 23:00:00 2008 BRT isdst=0 gmtoff=-10800
Brazil/East Sun Oct 12 02:59:59 2008 UTC = Sat Oct 11 23:59:59 2008 BRT isdst=0 gmtoff=-10800
Brazil/East Sun Oct 12 03:00:00 2008 UTC = Sun Oct 12 01:00:00 2008 BRST isdst=1 gmtoff=-7200

Ou seja, o horáiode verão em 2008 começa em 12 de outubro.. Bom, pelo menos a maior parte das distros não pegou ainda a norma atualizada recentemente pelo Lula. Como teste, instalei o tzbrazil, mas ele ainda não tem a questão do horário de 2008 definada. Ao menos, o new Date(2008,9,12) funcionou como esperado, já que essa data é removida como início do horário de verão ao instalar o tzbrazil.

]]>
Por: Érico Andrei https://elcio.com.br/data-errada-no-javascript-bug/#comment-5215 Thu, 11 Sep 2008 15:18:17 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-5215 Élcio, se no seu sistema o new Date(2008,9,12) deu Sat Oct 11 2008 23:00:00 GMT-0300 (BRT) o problema é um POUCO maior… Não tem 1h de defasagem e sim vários dias…

]]>
Por: Ciro Feitosa https://elcio.com.br/data-errada-no-javascript-bug/#comment-5214 Thu, 11 Sep 2008 15:07:02 +0000 http://blog.elcio.com.br/data-errada-no-javascript-bug/#comment-5214 Élcio, vai depender do SO, se está com a função de “ajustar automaticamente o relógio para o horário de verão”. Fiz um teste com a função ativada e desativada, e realmente deu diferença.

]]>