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();