[javascript] De tijd in NL weergeven

Pagina: 1
Acties:
  • 606 views sinds 30-01-2008
  • Reageer

Acties:
  • 0 Henk 'm!

  • Glacier
  • Registratie: Juli 2000
  • Niet online
Ik wil dmv getHours() en getTimezoneOffset() de tijd in NL bepalen. Volgens mijn boek krijg je bij getTimezoneOffset() het verschil met GMT in minuten, dat is dus -60, want in Engeland is het een uur vroeger...maar als ik zoiets doe als tijdsverschil = ( (tyd.getTimezoneOffset() )/60 ) +1 en die dus bij de tyd.getHours optel, kom ik op de Engelse tijd uit? :?
Als ik het tijdsverschil dmv getTimezoneOffset() in een alertje gooi, zie ik dat het verschil 2uur is, terwijl op teletekst duidelijk staat, dat het in Engeland een uur vroeger is :?

Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

zoals je ongetwijfeld weet (in de FAQ had kunnen lezen) dien je client-side javascript in W&G te posten, en voor serverside javascript is die lokale tijd minder een probleem (tenzij je server-independant wilt scripten)

javascript kent de UTCtime, dat is gelijk aan de GMT, nederlandse tijd is UTC + 1hrs; oftewel:
code:
1
2
var tijd_nl = new Date()
tijd_nl = tijd_nl.getUTCHours()+1 +":"+ tijd_nl.getUTCMinutes()

helaas zit je dan nog wel met een probleem rondom zomer- en wintertijd

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

  • D2k
  • Registratie: Januari 2001
  • Laatst online: 03-02 23:18

D2k

[topic=397053/1/25]

Doet iets met Cloud (MS/IBM)


Acties:
  • 0 Henk 'm!

  • wasigh
  • Registratie: Januari 2001
  • Niet online

wasigh

wasigh.blogspot.com

Voor deze keer een move dan :) (zie LA)

Acties:
  • 0 Henk 'm!

  • André
  • Registratie: Maart 2002
  • Laatst online: 22-05 12:29

André

Analytics dude

code:
1
2
3
4
var Klok = new Date()
Dag = Klok.getDate();
Maand = Klok.getMonth()
Jaar = Klok.getYear();

Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

Op vrijdag 19 april 2002 01:02 schreef Glacier het volgende:
Als ik het tijdsverschil dmv getTimezoneOffset() in een alertje gooi, zie ik dat het verschil 2uur is, terwijl op teletekst duidelijk staat, dat het in Engeland een uur vroeger is :?
mn excuus voor vorige antwoord, had kennelijk je vorige vraag ook niet helemaal goed gelezen.

je hebt het al over het probleem van winter en zomerttijd...
nu kent GMT volgens mij helmaal geen zomerijd of daylightsavingstime (en meen dt engeland ook lange tijd als koppige eilandbewoners weigerden aan die ridicule onzin mee te doen, in hun rijk ging de zon nooit onder)

nu doen de engelsen wel mee en de tijd in engeland is momenteel GMT-60 (minuten)
UTC volgt hier de GMT en niet de tijd in engeland

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

  • Glacier
  • Registratie: Juli 2000
  • Niet online
maar is er een manier om dit op te vangen? Is er een bepaalde periode waarin dat gebeurd zodat ik dat kan inbouwen? Anders loopt de rest van de site namelijk ook in de soep als de tijd niet goedstaat, dan wordt er verkeerde info weergegeven...

Acties:
  • 0 Henk 'm!

  • RM-rf
  • Registratie: September 2000
  • Nu online

RM-rf

1 2 3 4 5 7 6 8 9

Op vrijdag 19 april 2002 19:14 schreef Glacier het volgende:
maar is er een manier om dit op te vangen? Is er een bepaalde periode waarin dat gebeurd zodat ik dat kan inbouwen? Anders loopt de rest van de site namelijk ook in de soep als de tijd niet goedstaat, dan wordt er verkeerde info weergegeven...
hmm, nu hebben we daarvoor wel wat meer informatie nodig, en ik vraag me af of je helemaal het principe van clientside scripting begrijpt;

datumObj.getHours() geeft de tijd van je eigen computer, dus die van de client, je hebt nooit zekerheid of die goed staat, evenals het lastig is precies de lokatie en zomer-wintertijd te bepalen.

als je gewoon je tijd goed hebt staan en je gebruikt getHours() kun je erop rekenen dat je de juiste 'lokale' tijd krijgt, wil je echter een universeel tijdformat gebruiken, dan dien je getUTCHours() te gebruiken.

maar het kan zijn dat ik je bedoeling niet geheel doorheb
een handig linkje over daylight saving time: http://webexhibits.org/daylightsaving/b.html (hieruit blijkt dat de engelsen al dezelfde zomer/wintertijd als de echte europeanen gebruiken) je kunt voor engelse tijd dus altijd -60 doen tov de middeleuropese tijdzone (maar voor zover ik weet is er geen waarde die de werkelijke tijdzone retourneert, getTimezoneoffset retounreert de afwijking van GMT, niet de echte zone, misschien getTimezone()? )

Intelligente mensen zoeken in tijden van crisis naar oplossingen, Idioten zoeken dan schuldigen


Acties:
  • 0 Henk 'm!

  • Glacier
  • Registratie: Juli 2000
  • Niet online
We gaan er van uit dat de mensen die de site openen, de juiste tijd hebben ingesteld...
Het script moet het huidige progamma (de site is van een internet radiostation) dat nu on air is, laten zien. Alle tijden van de programmering zijn in CET. De lokale tijd van degene die de site bezoekt (bijvoorbeeld een Amerikaan), moet dus geconverteerd worden naar CET.
Als de tijd dus niet goed geconverteerd wordt, bestaat de kans dat het verkeerde programma wordt weergegeven en dat is natuurlijk niet de bedoeling :)
Ik ben momenteel aan het proberen of ik kan bepalen of het zomertijd is of niet...

Edit : Hmm...even het artikel doorlezen... :P

Edit2: Ik heb het geklust, ik heb uitgezocht of de datum in de periode van de zomertijd ligt en als het zomertijd is, 2 uur opgeteld om op CET te komen, ipv 1 (in de wintertijd)...
Pagina: 1