Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/01/2010, 01:52
damo503
 
Fecha de Ingreso: marzo-2009
Mensajes: 19
Antigüedad: 15 años, 1 mes
Puntos: 0
como obtener un timezone local

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