m3io Posted September 1, 2013 at 05:46 PM Report #523129 Posted September 1, 2013 at 05:46 PM boas pessoal, já ando aqui á 4 dias a tentar resolver um problema com um countdown diario a situacao é a seguinte tenho um countdown diario a dar com uma hora definida. e faz refresh ao acabar, ate aqui tudo bem o problema é mesmo que tem de mostrar a mesma hora para todo o mundo, por exemplo faltam 2 horas na china ou faltam 2 horas na tuga, sempre igual para todos, este é o obstáculo que não consigo ultrapassar o codigo é o seguinte serversideTIME.php date_default_timezone_set('Europe/Paris'); $now = new DateTime(); echo $now->format("M j, Y H:i:s O") . "\n"; estou a usar o script de http://keith-wood.name/countdown.html aqui o javascript $('#time').countdown({serverSync: serverTime(), until: getTarget(), onExpiry: restartCountdown, compact: true}); ///obtem hora do servidor function serverTime() { var time = null; $.ajax({url: '/site/serversideTIME.php', async: false, dataType: 'text', success: function(text) { time = new Date(text); }, error: function(http, message, exc) { time = new Date(); }}); return time; } // function restartCountdown() { window.location.reload(true); $('#time').countdown('change', {until: getTarget()}); } // function getTarget() { var serverDate = new Date(<?php echo strtotime(now()); ?>); var target = serverDate; var hora = 15; var minutos = 51; if (target.getHours() < hora || (target.getHours() == hora && target.getMinutes() < minutos)) { target.setHours(hora, minutos, 0, 0); } else { target.setDate(target.getDate() + 1); target.setHours(hora, minutos, 0, 0); } return target; } basicamente ele vai buscar a tempo limite definido em getTarged de todos os dias, e ao expirar faz um refresh. mas o problema é que devia mostrar que faltam x minutos igual em todas as partes do mundo e não 1 hora em portugal, 4 horas na china, 0 noutro lado qualquer.... alguém sabe o que pode ser o problema?
yoda Posted September 1, 2013 at 07:47 PM Report #523136 Posted September 1, 2013 at 07:47 PM O problema está aqui : time = new Date(); Esta linha vai-te dar a data corrente em função da localização do cliente (ou da que ele indicou no SO / browser). Para não teres este problema precisas de mudar o script de forma a fazer o countdown sem essa data. before you post, what have you tried? - http://filipematias.info sense, purpose, direction
m3io Posted September 2, 2013 at 11:34 AM Author Report #523166 Posted September 2, 2013 at 11:34 AM boas, e obrigado pela ajuda, mas a solução nao funciona 😞 eu fiz como disses-te }, error: function(http, message, exc) { // time = new Date(); comentei essa parte, o stress é que eu mudo a hora e fuso horario do meu pc e quando volto a testar , em vez de dizer que faltam por exemplo 30 minutos e diz que faltam 30 minutos e a diferenca de horas do gmt do cliente, enquanto que o meu objectivo é que faca countdown até á meia noite de portugal, para todo o planeta independentemente que sejam que horas forem na china, á meia de portugal faz o tal refresh em todo o mundo. Obrigado desde ja pela ajuda 😄
brunoais Posted September 2, 2013 at 01:54 PM Report #523184 Posted September 2, 2013 at 01:54 PM https://developer.mozilla.org/en-US/docs/Web/Javascript/Reference/Global_Objects/Date/UTC "[Os jovens da actual geração]não lêem porque não envolve um telecomando que dê para mirar e atirar, não falam porque a trapalhice é rainha e o calão é rei" autor: thoga31 Life is a genetically transmitted disease, induced by sex, with death rate of 100%.
yoda Posted September 2, 2013 at 03:57 PM Report #523201 Posted September 2, 2013 at 03:57 PM Não era para comentares, era para entenderes o resultado da função que estavas a usar. O link do @brunoais da-te uma possível resposta ao problema. before you post, what have you tried? - http://filipematias.info sense, purpose, direction
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now