Avatar billede webbe Nybegynder
08. august 2001 - 08:33 Der er 15 kommentarer og
1 løsning

Negative klokkeslet??

Hejsa

Jeg har følgende kode der skal vise tiden i Los Angeles, men jeg får returneret et negativt klokkeslet når tidsforskellen mellem dansk tid og midnat er mindre end 9 timer - hvordan kan jeg ændre det???

Koden:

function show10(){
if (!document.layers&&!document.all&&!document.getElementById)
return
var Digital=new Date()
var hours=Digital.getHours()-9
var minutes=Digital.getMinutes()
var seconds=Digital.getSeconds()
if (hours==24)
hours=00
if (minutes<=9)
minutes=\"0\"+minutes
if (seconds<=9)
seconds=\"0\"+seconds
//change font size here to your desire
myclock=\"<font size=\'1\' face=\'Arial\'><b></br>\"+hours+\":\"+minutes+\":\"
+seconds+\"</b></font>\"
if (document.layers){
document.layers.liveclock5.document.write(myclock)
document.layers.liveclock5.document.close()
}
else if (document.all)
liveclock5.innerHTML=myclock
else if (document.getElementById)
document.getElementById(\"liveclock\").innerHTML=myclock
setTimeout(\"show10()\",1000)
}
Avatar billede webbe Nybegynder
08. august 2001 - 08:35 #1
Et eksempel er her til morgen - jeg nøder kl. 7.30 og klokken er på det tidspunkt -1.30 i Los Angeles!

Den har dermed returneret et negativt klokkeslet fra midnat dansk tid og så til kl. 9 dansk tid!
Avatar billede tknudsen Nybegynder
08. august 2001 - 08:37 #2
fordi getHours returnere timerne afhængig af den tidzone du har sat Date op til - derfor vil der, ud fra dit eksempel, i linien

var hours=Digital.getHours()-9 faktisk stå:

hours=7-9 - hvilket jo er negativt
Avatar billede webbe Nybegynder
08. august 2001 - 08:38 #3
tknudsen:

Ved godt det er der fejlen er, men hvordan kan jeg løse det???
Avatar billede tknudsen Nybegynder
08. august 2001 - 08:41 #4
hvis du vil vise tiden i la skal du istedet skifte til en anden tidszone...

øjeblik
Avatar billede webbe Nybegynder
08. august 2001 - 08:43 #5
Ja - men så viser den jo ikke de andre tider rigtigt!

Skal jo vise tiden i både København, Oslo, Göteborg, Helsinki, London, New York og Los Angeles på samme tid!

Det må da kunne lade sig gøre! ;o)
Avatar billede jakoba Nybegynder
08. august 2001 - 08:44 #6
efter linien:
    var hours=Digital.getHours()-9;
indsætter du:
    if ( hours<0 ) hours = hours+24;

Det er så i virkeligheden \'dagen før\' men da du ikke viser dato kan det være ligemeget :-))

mvh JakobA
Avatar billede jakoba Nybegynder
08. august 2001 - 08:46 #7
Det samme skal nok gøres for London og New Your
Avatar billede tknudsen Nybegynder
08. august 2001 - 08:49 #8
umiddelbart kan jeg ikke finde en metode til at ændre selve tidszonen via javascript, men du kunne jo tage højde for de negative værdier...

er det kun tiden (og ikke datoen) du er interesseret i ?
Avatar billede tknudsen Nybegynder
08. august 2001 - 08:49 #9
ohh - jakoba - once again :-)
Avatar billede webbe Nybegynder
08. august 2001 - 08:52 #10
jakoba:

Tak for det - det var lige det der skulle til! ;o)

Du har reddet min dag! *S*
Avatar billede webbe Nybegynder
08. august 2001 - 08:53 #11
tknudsen:

Ja - det er kun tiden jeg er interesseret i - datoen er ligemeget!

Men jakoba kom med et brugbart svar først, så pointene går til ham! ;o)
Avatar billede webbe Nybegynder
08. august 2001 - 08:55 #12
Jakoba:

Har jeg så ret i at den linie skal ændres til:

if (hours>24) hours=hours-24;

når det er for Helsinki der jo er 1 time foran os!?? ;o)
Avatar billede jakoba Nybegynder
08. august 2001 - 08:58 #13
Netop.
Avatar billede webbe Nybegynder
08. august 2001 - 08:59 #14
jakoba:

Hehe - er sq ikke så dum alligevel! *LOL*

Tak for hjælpen! ;o)
Avatar billede jakoba Nybegynder
08. august 2001 - 09:01 #15
eller måske snarere
  if (hours>=24) hours=hours-24;
så alle klokkeslet går fra  00:00:00  til  23:59:59.
Avatar billede webbe Nybegynder
08. august 2001 - 09:09 #16
Okay - det er bare iorden
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester