/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Fejl ved nedtælling.
Fra : Søren Mathiasen


Dato : 20-03-07 11:24

Hej

Jeg har indsat dette lille script til nedtælling på en side:

<!--webbot bot="PurpleText" PREVIEW="Start kode til nedtælling" -->
<b><p align="center">&nbsp;<script type="text/javascript">
today = new Date()          
countdown = new Date("May 5, 2007")
countdown.setYear = today.getYear;      
daysLeft = (countdown.getTime() -
today.getTime()) / (1000*60*60*24);
daysLeft = Math.round(daysLeft);
document.write ("Nu er der ");
document.write (daysLeft);
document.write (" dage til den 5. maj 2007");
</script>
</p>
</b>
<!--webbot bot="PurpleText" PREVIEW="Slut kode til nedtælling" -->

Jeg har nu opdaget, at antallet af dage tilbage skifter kl. 11:00. Jeg
havde ventet at skiftet blev foretagaet til midnat.

Hvad kan fejlen i scrpitet være?

Mvh
Søren Mathiasen


 
 
Birger Sørensen (20-03-2007)
Kommentar
Fra : Birger Sørensen


Dato : 20-03-07 14:04

Søren Mathiasen (slet BU63C) wrote in
dk.edb.internet.webdesign.clientside:
> Hej
>
> Jeg har indsat dette lille script til nedtælling på en side:
>
> <!--webbot bot="PurpleText" PREVIEW="Start kode til nedtælling" -->
> <b><p align="center"> <script type="text/javascript">
> today = new Date()          
> countdown = new Date("May 5, 2007")
> countdown.setYear = today.getYear;      
> daysLeft = (countdown.getTime() -
> today.getTime()) / (1000*60*60*24);
> daysLeft = Math.round(daysLeft);
> document.write ("Nu er der ");
> document.write (daysLeft);
> document.write (" dage til den 5. maj 2007");
> </script>
> </p>
> </b>
> <!--webbot bot="PurpleText" PREVIEW="Slut kode til nedtælling" -->
>
> Jeg har nu opdaget, at antallet af dage tilbage skifter kl. 11:00. Jeg
> havde ventet at skiftet blev foretagaet til midnat.
>
> Hvad kan fejlen i scrpitet være?
>
> Mvh
> Søren Mathiasen
>

Sommertid måske?
Der er ikke fejl i scriptet.
Men 5. maj ligger efter skiftet til sommertid, så på en måde er det
rigtigt at skifte kl. 23:00 ( som jeg antager du mener..;>)) - indtil vi
går til sommertid, kommer 5. maj faktisk en time tidligere...
Eller måske går uret i din PC forkert...??

Birger

--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Søren Mathiasen (20-03-2007)
Kommentar
Fra : Søren Mathiasen


Dato : 20-03-07 14:23

Birger Sørensen <sdcXfjernX@bbsorensen.com> skrev:
>Søren Mathiasen (slet BU63C) wrote in
>dk.edb.internet.webdesign.clientside :
>> Hej
>>
>> Jeg har indsat dette lille script
>>til nedtælling på en side:
>>
>> <!--webbot bot="PurpleText"
>> <PREVIEW="Start kode til
>> <nedtælling" -->
>> <b><p align="center"> <script
>> <type="text/javascript">
>> today = new Date()          
>> countdown = new Date("May 5, 2007")
>> countdown.setYear =
>>today.getYear;      
>> daysLeft = (countdown.getTime() -
>> today.getTime()) /
>>(1000*60*60*24);
>> daysLeft = Math.round(daysLeft);
>> document.write ("Nu er der ");
>> document.write (daysLeft);
>> document.write (" dage til den 5. maj 2007");
>> </script>
>> </p>
>> </b>
>> <!--webbot bot="PurpleText"
>> <PREVIEW="Slut kode til
>> <nedtælling" -->
>>
>> Jeg har nu opdaget, at antallet af
>>dage tilbage skifter kl. 11:00. Jeg
>> havde ventet at skiftet blev
>>foretagaet til midnat.
>>
>> Hvad kan fejlen i scrpitet være?
>>
>> Mvh
>> Søren Mathiasen
>>
>
>Sommertid måske?
>Der er ikke fejl i scriptet.
>Men 5. maj ligger efter skiftet til
>sommertid, så på en måde er det
>rigtigt at skifte kl. 23:00 ( som
>jeg antager du mener..;>)) - indtil vi
>går til sommertid, kommer 5. maj
>faktisk en time tidligere...
>Eller måske går uret i din PC forkert...??
>
>Birger
>
>--
>Vil du lære at kode HTML, XHTML,
>CSS, SSI, ASP eller ASP.NET?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
>KLIK HER! =>
>http://www.html.dk/tutorials

Hej Birger

Tak for din hjælp, men skiftet sker kl. 11:00 (om formiddagen).

Mvh
Søren


Holst (20-03-2007)
Kommentar
Fra : Holst


Dato : 20-03-07 14:37


Søren Mathiasen wrote:

> Tak for din hjælp, men skiftet sker kl. 11:00 (om formiddagen).

Mon det kan være noget afrunding, måske kombineret med noget sommertid.

Lige omkring frokosttid går den jo fra X,51 dage til X,49 dage, og ved
korrekt afrunding bliver det jo et skift omkring frokost tid fra X+1 til X.

For jeg vil jo næste gå ud fra, at du beregner tiden frem til kl.
0:00:01 på den pågældende dag.

Jeg har ikke studeret din kode nærmere, og jeg kender ikke noget til
funktionerne, så jeg gætter bare løs.

John S. Thomsen (21-03-2007)
Kommentar
Fra : John S. Thomsen


Dato : 21-03-07 04:22

Søren Mathiasen (slet BU63C) wrote:
> Hej
>
> Jeg har indsat dette lille script til nedtælling på en side:
>
> <!--webbot bot="PurpleText" PREVIEW="Start kode til nedtælling" -->
> <b><p align="center">&nbsp;<script type="text/javascript">
> today = new Date()          
> countdown = new Date("May 5, 2007")
> countdown.setYear = today.getYear;      
> daysLeft = (countdown.getTime() -
> today.getTime()) / (1000*60*60*24);
> daysLeft = Math.round(daysLeft);
> document.write ("Nu er der ");
> document.write (daysLeft);
> document.write (" dage til den 5. maj 2007");
> </script>
> </p>
> </b>
> <!--webbot bot="PurpleText" PREVIEW="Slut kode til nedtælling" -->
>
> Jeg har nu opdaget, at antallet af dage tilbage skifter kl. 11:00. Jeg
> havde ventet at skiftet blev foretagaet til midnat.
>
> Hvad kan fejlen i scrpitet være?

Årsagen skyldes disse to fejl i scriptet

1) Sommertid <> Normaltid

Tiderne lægges ind som lokale danske tider, dvs normaltid mht today og
sommertid mht countdown. Tiderne opbevares som antallet af millisekunder
siden 1.1.1970. Metoden getTime virker på disse tider, der er uafhængige
af de lokale tider. Den ekstra time glider derfor ikke ud af
tidsforskellen og medfører forskydning fra midnat til kl 23.

2) Afrunding

Math.round() lægger et halvt døgn til inden den afrunder, så kl 23 om
aftenen bliver til kl 11 om formiddagen.


Venlig hilsen
John S. Thomsen

Søg
Reklame
Statistik
Spørgsmål : 177559
Tips : 31968
Nyheder : 719565
Indlæg : 6408929
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste