Toon posts:

[ASP] Time zone

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een website en ik wil dat mensen hun tijd zone kunnen selecteren en dat alle tijden daar dan op worden aangepast.

De server waarop de website gehost word moet in verschillende tijd zones kunnen staan en de tijd van de client moet dan nog steeds het zelfde zijn.

Ik dacht er zelf aan eerst de tijd zone van de server te selecteren in GTM en dan daarmee de tijd zone van de client berekenen.

Dit brengt echter een hoop problemen met zich mee omdat je dan het verschil tussen 2 nummers moet gaan uitrekenen die positief en negatief door elkaar heen kunnen zijn

bv..
Client timezone: GMT + 2
Server timezone: GMT - 1

Makkelijk zou je denken gewoon client--server (-- = +)

maar als je het omdraaid
Client timezone: GMT - 1
Server timezone: GMT + 2

Dan heb je weer een heel ander rekensommetje nodig en zo heb je dan nog veel meer mogelijkheden


Dus.... hoe kan ik dit oplossen? het hoeft niet perse op de manier die ik bedacht heb, als iemand wat anders weer vind ik het ook best zolang gebruiks hun tijd zone maar kunnen selecteren in een dropdown list...

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Gewoon server iid met GMT tijd laten werken, en dan de tijdzones zoals je zelf al zegt optellen.

Je krijgt een tijd binnen, als je server nou GMT +2 is dan tel je daar sowieso eerst 2 bij op. En daarna ga je terugtellen bij het weergeven aan de client.
Weergavetijd = servertijd + clienttijdzone (+- is -). Dus ik zie het probleem niet echt?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Dan komt niet goed uit

Stel op de server is het 13:00 en GMT +1
Bij de Client is het 10:00 GMT -2

Server+Client is dan -1

Dus de Client krijg als tijd 12:00 (server-1) en hij zou 11:00 moeten krijgen...
Je moet dus het verschil in tijd weten tussen de server en de client

  • igmar
  • Registratie: April 2000
  • Laatst online: 12-05 15:46

igmar

ISO20022

Verwijderd schreef op 17 mei 2004 @ 13:43:
Dan komt niet goed uit

Stel op de server is het 13:00 en GMT +1
Bij de Client is het 10:00 GMT -2

Server+Client is dan -1
Je moet aan de server kant met GMT tijden rekenen, de werkelijke tijden zijn voor de berekening niet relevant.

Verwijderd

Topicstarter
Hoezo zijn de werkelijke tijden niet relevant dan?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 17 mei 2004 @ 15:20:
Hoezo zijn de werkelijke tijden niet relevant dan?
Omdat je bij het opslaan alles in GMT opslaat, niet in servertijd. Dan hoef je er dus maar het verschil met de gebruiker bij op te tellen.

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Dat zou idd een mogelijkheid zijn maar ik wil dat alles gewoon in server tijd opgelagen wordt met de "GETDATE()" functie van SQL-Server

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 17 mei 2004 @ 15:51:
Dat zou idd een mogelijkheid zijn maar ik wil dat alles gewoon in server tijd opgelagen wordt met de "GETDATE()" functie van SQL-Server
Dan is het misschien een optie om niet het verschil met GMT op te slaan per gebruiker maar het verschil met de server? :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Moet je wel eerst weten welke tijd zone de server staat :>

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Verwijderd schreef op 17 mei 2004 @ 16:00:
Moet je wel eerst weten welke tijd zone de server staat :>
Dat weet je toch zeker wel van je eigen server? Anders gewoon controleren door now te echoen of op te slaan in de DB en dan meteen op te halen, en dan het verschil met GMT te bekijken. Stelt niet veel voor. :P

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Op de website moet je kunnen instellen welke tijd zone de server zit dus ja ik weet altijd de tijd zone van me server in GMT

En dan moeten gebruikers van de site hun tijd zone kunnen instellen (ook in GMT)
dan heb je dus 2 waardes

bv
server +2
client -2

Dan moet ik het verschil tussen die 2 waardes weten wat in dit geval -4 is

Dan gebruik ik de dateadd functie bij elke datum dateadd("h", now, timeoffset)
Dan is het dus op de server 14u en bij de client 10u als de GMT 12u is

Het probleem zit hem dus in het berekenen van de timeoffset van de client.

[ Voor 3% gewijzigd door Verwijderd op 17-05-2004 16:20 ]


Verwijderd

Topicstarter
iemand nog ideen?

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

Ja, lees mijn vorige posts nog eens. :/

Je slaat gewoon de tijd op de server in GMT op in de database, dan vervalt verder bij het weergeven die "server +2" uit de berekening, en kun je gewoon het verschil tussen de client uitrekenen... Stelt echt niets voor... :?

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.


Verwijderd

Topicstarter
Ja maar zoals ik in een van me vorige posts al zei ik wil niet gaan prutsen met die dateadd functie van asp omdat je dan de getdate functie van sql-server niet meer kan gebruiken...

Bij mij gaat dat datums opslaan in een database via de Now functie van asp altijd fout daarom gebruik ik gewoon liever de functie van sql-server dan kan het nooit mis gaan...

Verwijderd

Topicstarter
Oke ben er uit het is idd simpel als je het eenmaal weet

het is gewoon client - server

woohoo :)

  • NMe
  • Registratie: Februari 2004
  • Laatst online: 24-05 14:53

NMe

Quia Ego Sic Dico.

NMe84 schreef op 19 mei 2004 @ 09:55:
...en kun je gewoon het verschil tussen de client uitrekenen... Stelt echt niets voor... :?
Dat zei ik dus. :P Maja, mooi dat je eruit bent. :)

'E's fighting in there!' he stuttered, grabbing the captain's arm.
'All by himself?' said the captain.
'No, with everyone!' shouted Nobby, hopping from one foot to the other.

Pagina: 1