Saludos estoy dando mis primerso pasos en java, ya había posteado el tema pero me equivoqué de subforo, ahora si que estoy en el subforo correcto...espero,
gracias a la ayuda de maycolalvarez he solucionado un problema con el contador regresivo para que este se ajustara a diferentes Husos Horarios dependiendo del gmt del usuario y funciona corectamente, pero esto me ha llevado a un nuevo problema,que solo fallaría si el gmt de origen cambia,
ahora la cuestion es hay alguna forma de obtener el timezone local??
sin tener que editar el script al cambiar de horario de verano a invierno o biceversa?
en mi caso cambiaría la variable gmt_local al nuevo huso horario
Código:
// Contador regresivo en java adaptado segun huso horario
// definimos estilos
document.write("<form name='p56'><input style='text-align:center; font-family:arial, helvetica, sans-serif; font-size:14px; width:450px; color:#ffffff;font-weight:normal;background-color:transparent; padding:3px; margin:0px 0px 0px 0px;overflow:visible;border:0px;' id='pagein' name='pageinval85'/></form>");
function countdown_load56()
{
// definimos el texto antes del evento
var the_event="Faltan...";
// definimos el texto despues del evento
var on_event="Evento";
// definimos fecha yr=año, mo=mes, da=dia, Hr=hora
var yr=2010;var mo=02;var da=7;var hr=22;
// definimos mi=minutos, sec=segundos
var min=00;var sec=0; var month='';
// definimos husos horarios del país (gmt-4 local/gmt-3 verano chile) (gmt+1 local/gmt+2 verano España)
var gmt_local=-3;
//fecha y correcion de timezone
var month=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec");
var bottom_event="";
var now_d=new Date();
var now_year=now_d.getYear();
if (now_year < 1000)now_year+=1900;
var now_month=now_d.getMonth();
var gmtu=-1*(now_d.getTimezoneOffset()/60);
var gmtHours =gmtu+(-1*gmt_local);
gmtHours=gmtHours*(60*60*1000);
var now_hour=now_d.getHours();
var now_day=now_d.getDate();
var now_min=now_d.getMinutes();
var now_sec=now_d.getSeconds();
//caulculos y ajuste de contador regresivo
var now_val=month[now_month]+" "+now_day+", "+now_year+" "+now_hour+":"+now_min+":"+now_sec;event_val=month[mo-1]+" "+da+", "+yr+" "+hr+":"+min+":"+sec;
difference=Date.parse(event_val)-Date.parse(now_val);
difference=difference+gmtHours;
differenceday=Math.floor(difference/(60*60*1000*24)*1);
differencehour=Math.floor((difference%(60*60*1000*24))/(60*60*1000)*1);
differencemin=Math.floor(((difference%(60*60*1000*24))%(60*60*1000))/(60*1000)*1);
differencesec=Math.floor((((difference%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1);
if(differenceday<=0&&differencehour<=0&&differencemin<=0&&differencesec<=1&&now_day==da)
{
document.forms.p56.pageinval85.value=on_event;return;
}
else if (differenceday<=-1)
{
document.forms.p56.pageinval85.value="Event : "+on_event+" : passed";return;
}
else{
// document.forms.p56.pageinval85.value=the_event+" "+differenceday+" dias "+differencehour+" horas "+differencemin+" minutos "+differencesec+" segundos "+gmtHours+"ajuste"}
document.forms.p56.pageinval85.value=the_event+" "+differenceday+" dias "+differencehour+" horas "+differencemin+" minutos "+differencesec+" segundos "+sdl+"ajs"}
setTimeout("countdown_load56()",1000);
}
countdown_load56();