webForumDet fria alternativet

Tidzone

4 svar · 250 visningar · startad av SannyW

SannyWMedlem sedan jan. 2003438 inlägg
#1

Har lite problem att få rätt på en sak, nedan har jag ett exempel som jag skulle vilja få förklarat hur jag kan ändra tidzone till typ stockholm och förklara gärna vad som styr vad.

Tack på förhand

function returnD(UTCDate){var oDate=new Array();oDate[0]=new Date(UTCDate);
	if ((UTCDate - (oDate[0].getTimezoneOffset()*60000)) < 0) return '00:00:00';
	oDate[1]=(oDate[0].getDate()>9)?oDate[0].getDate()-1+':':((oDate[0].getDate()-1)<1)?'':'0'+(oDate[0].getDate()-1)+':';
	oDate[2]=(oDate[0].getHours()<10)?'0'+oDate[0].getHours()+':':oDate[0].getHours()+':';
	oDate[3]=(oDate[0].getMinutes()<10)?'0'+oDate[0].getMinutes()+':':oDate[0].getMinutes()+':';
	oDate[4]=(oDate[0].getSeconds()<10)?'0'+oDate[0].getSeconds():oDate[0].getSeconds();
	var sD="";for (var i=1; i < oDate.length; i++){
	sD = sD + oDate[i];
	}return sD;
}
JojoxxMedlem sedan juni 20004 308 inlägg
#2

getTimezoneOffset returnerar antalet minuter som skiljer den aktuella datorn från UTC. Sedan lägger vi till skillnaden för Stockholm (+60 min) och simsalabim har vi tiden i Stockholm.

var d=new Date(new Date().getTime()+(new Date().getTimezoneOffset()+60)*60000);
alert(d);
SannyWMedlem sedan jan. 2003438 inlägg
#3

Tack för svaret Jojoxx, jag är med på vad du har gjort men när jag jobbar med exemplet så vill det inte bli rätt. Nu får du några rader till som kanske borde varit med första gången.

Om du vill förklara vad som händer var och när så är jag tacksam.

Tack på förhand.


function returnD(UTCDate){var oDate=new Array();oDate[0]=new Date(UTCDate);
	if ((UTCDate - (oDate[0].getTimezoneOffset()*60000)) < 0) return '00:00:00';
	oDate[1]=(oDate[0].getDate()>9)?oDate[0].getDate()-1+':':((oDate[0].getDate()-1)<1)?'':'0'+(oDate[0].getDate()-1)+':';
	oDate[2]=(oDate[0].getHours()<10)?'0'+oDate[0].getHours()+':':oDate[0].getHours()+':';
	oDate[3]=(oDate[0].getMinutes()<10)?'0'+oDate[0].getMinutes()+':':oDate[0].getMinutes()+':';
	oDate[4]=(oDate[0].getSeconds()<10)?'0'+oDate[0].getSeconds():oDate[0].getSeconds();
	var sD="";for (var i=1; i < oDate.length; i++){
	sD = sD + oDate[i];
	}return sD;
}
var timerId=setTimeout("",1000);var now=new Date();var difN=new Date(matchtime)-now; 

var sStartTime=returnD(difN);

var oCLeft=0;var oCTop=0
function startCountDown(){
	var oPos=createObjCss('countDownPos');
	if (bw.ns){
	var oCountDown=createObjStyle('div_countdown');
	oCountDown.left=xLeft_pos (oPos);
	oCountDown.top=yTop_pos (oPos);
	}

now=new Date();difN=new Date(matchtime)-now;
sStartTime=returnD(difN);
writeInObj('div_countdown','',sCountdown(sStartTime));
timerId=setTimeout("startCountDown()",1000)
}
JojoxxMedlem sedan juni 20004 308 inlägg
#4

Functionen returnD verkar returnera (en positiv) tidsskillnad från UTC i formatet [dd:]hh:mm:ss (dd: optional). Sedan skulle jag gissa på att det skapas lite lager som skall positioneras efter vissa parametrar, men till vilken effekt vet jag inte. Det saknas både funktioner och variabel-deklarationer. Om du istället talar om vad du vill åstakomma kanske det är enklare att hjälpa dig.

SannyWMedlem sedan jan. 2003438 inlägg
#5

Jag har ett fungerade script men jag skulle vilja förstå var och hur datumen fungerar. Och jag får inte rätt på tidzonen, för hur jag än gör så går den på centraltid alltså Londontid.

Finns i txt-fil (include i nedanstående doc)
var countdownColor=1;
var matchtime='jan 31 2003 11:00:00';

Detta är ett nedräkningsscript som styrs av ovan txt fil.

function returnD(UTCDate){var oDate=new Array();oDate[0]=new Date(UTCDate);
	if ((UTCDate - (oDate[0].getTimezoneOffset()*60000)) < 0) return '00:00:00';
	oDate[1]=(oDate[0].getDate()>9)?oDate[0].getDate()-1+':':((oDate[0].getDate()-1)<1)?'':'0'+(oDate[0].getDate()-1)+':';
	oDate[2]=(oDate[0].getHours()<10)?'0'+oDate[0].getHours()+':':oDate[0].getHours()+':';
	oDate[3]=(oDate[0].getMinutes()<10)?'0'+oDate[0].getMinutes()+':':oDate[0].getMinutes()+':';
	oDate[4]=(oDate[0].getSeconds()<10)?'0'+oDate[0].getSeconds():oDate[0].getSeconds();
	var sD="";for (var i=1; i < oDate.length; i++){
	sD = sD + oDate[i];
	}return sD;
}
var timerId=setTimeout("",1000);var now=new Date();var difN=new Date(matchtime)-now; 

var sStartTime=returnD(difN);

var oCLeft=0;var oCTop=0
function startCountDown(){
	var oPos=createObjCss('countDownPos');
	if (bw.ns){
	var oCountDown=createObjStyle('div_countdown');
	oCountDown.left=xLeft_pos (oPos);
	oCountDown.top=yTop_pos (oPos);
	}

now=new Date();difN=new Date(matchtime)-now;
sStartTime=returnD(difN);
writeInObj('div_countdown','',sCountdown(sStartTime));
timerId=setTimeout("startCountDown()",1000)
}

var cCTColor=(countdownColor>1)?'#F7C10E':'#393939';
var cDColor=(countdownColor>1)?'#FFFFFF':'#000000';
var sScCFont=(bw.ns)?'<font size="1" face="arial" color="'+cCTColor+'"><b>':'<font class="cCT">';
var sScDFont=(bw.ns)?'<font size="5" face="arial" color="'+cDColor+'"><b>':'<font class="cCD">';
var sScEnd=(bw.ns)?'</b></font>':'</font>';

function sCountdown(strDate){
var aT = strDate.split(":");var aTL=aT.length;
var str="";str+='<table cellpadding="0" cellspacing="0" border="0">'
+'<tr><td align="center">'+sScCFont
+'NEDRÄKNING'+sScEnd
+'</td></tr>'
+'<tr><td align="center"><table cellpadding="0" cellspacing="0" border="0"><tr valign="top" align="center"><td>'+sScDFont;
if (aTL<4){
str+= aT[0]+sScEnd+'<br>'+sScCFont+'TIM'+sScEnd+'</td><td>'+sScDFont+':'+sScEnd+'</td><td>'+sScDFont
+aT[1]+sScEnd+'<br>'+sScCFont+'MIN'+sScEnd+'</td><td>'+sScDFont+':'+sScEnd+'</td><td>'+sScDFont
+aT[2]+sScEnd+'<br>'+sScCFont+'SEK'+sScEnd+'</td>';
}else{
str+=aT[0]+sScEnd+'<br>'+sScCFont+'DAGAR'+sScEnd+'</td><td>'+sScDFont+':'+sScEnd+'</td><td>'+sScDFont
+aT[1]+sScEnd+'<br>'+sScCFont+'TIM'+sScEnd+'</td><td>'+sScDFont+':'+sScEnd+'</td><td>'+sScDFont
+aT[2]+sScEnd+'<br>'+sScCFont+'MIN'+sScEnd+'</td><td>'+sScDFont+':'+sScEnd+'</td><td>'+sScDFont
+aT[3]+sScEnd+'<br>'+sScCFont+'SEK'+sScEnd+'</td>';
}
str+='</tr></table></td></tr>'
+'</table>\n';
return str;
}

function countdown(skin){
var str="";
if(!bw.ns){
str+='<style>'
+'.cCT{COLOR:'+cCTColor+'; FONT-SIZE:9px; FONT-FAMILY:Verdana, Arial;}'
+'.cCD{COLOR:'+cDColor+'; FONT-SIZE:12px; FONT-FAMILY:Verdana,Arial;FONT-WEIGHT:bold;}'
+'</style>';
str+='<div id="div_countdown"></div>';
}else{
str+='<layer name="div_countdown" id="div_countdown" left=0 top=0 z-index=10></layer>';
}
d.write(str);
}
132 ms totalt · 3 externa anrop · v20260731065814-full.3ab8d573
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)