login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Applicatie die wordt gebruikt in verschillende tijdszones

Offline roy - 03/03/2010 00:54
Avatar van royPHP gevorderde Hi,

Ik ben een applicatie aan het maken die in meerdere tijdzones zal worden gebruikt.
Hoe moet ik de tijd opslaan / weergeven zodat ik toch overal de locale tijd zie.

Bijvoorbeeld iemand plaatst een bericht in de UK om 14:00 (daar is het 1 uur eerder) In Nederland moet dan 15:00 zichtbaar zijn.
Voorbeeld 2: iemand plaatst een bericht in Griekenland om 13:00 (daar is het 1 uur later) In Nederland moet dan 12:00 zichtbaar zijn.

Hoe kan ik dit het beste aanpakken?


Grt,
Roy

13 antwoorden

Gesponsorde links
Offline Jelmerholland - 03/03/2010 07:30
Avatar van Jelmerholland PHP beginner http://php.net/manual/en/function.date.php
Citaat:
string date ( string $format [, int $timestamp ] )


Zoals je ziet kan je er een timestamp in proppen. Je slaat elke tijd op in gmt+0, dus als het bij ons +1 is, haal je er 3600secs vanaf (epoch time)

dan kan je om het te laten zien bijv. zo doen.
echo date("-d-m-y H:i:s",$timestamp); //en dan bijv +3600, of +2*3600 etc. 

Kweet niet of je hier wat mee kan, maar dat zou je ff moeten proberen ;)
Offline roy - 03/03/2010 11:52
Avatar van roy PHP gevorderde Hoe gaan andere website hiermee om??
Offline arneman - 03/03/2010 12:50
Avatar van arneman Nieuw lid Kan je niet de servertijd opvragen en deze opslaan in plaats van de client tijd?
Offline roy - 03/03/2010 13:13 (laatste wijziging 03/03/2010 13:23)
Avatar van roy PHP gevorderde ik denk dat het beter is om de CET tijd op te slaan..

Of de CET tijd opslaan in de database en in de presentatie layer deze converteren naar de locale tijd??


Of zijn er nog meer ideeen?
Offline Jelmerholland - 03/03/2010 14:17
Avatar van Jelmerholland PHP beginner Ik had dit als idee.

Iemand die op gmt+4 zit, die heeft het bijvoorbeeld 18:00.
Jij kan met een code (Ik weet niet hoe, maar ik weet wel dat het zou moeten kunnen ) die +4 eraf gaan halen. Dat zou dus betekenen dat het op dat moment, in greenwich 14:00 is.

Als ik nou als andere gebruiker om gmt-6 zit bijvoorbeeld, dan haalt hij speciaal voor mij die 6 uur eraf, bij mij, op gmt-6 is het dus 10:00.

Als jij weer online komt, op je +4, dan doe je gewoon +4 bij je gmt+0, je greenwich tijd. Dus dan kom je weer op 14+4 = 18:00 uit.

Snap je wat ik bedoel? Ik denk dat dit de makkelijkste manier is om te doen, je moet alleen ff met een code je gmt ophalen. DUs jouw tijdzone. en die eraf of erbij doen.

Ik hoop dat je me snapt, if not? Stuur me even een mail, dan kan ik je ff wat makkelijker helpen.


Gebruik ook de 2e variabele die je kan gebruiken bij date(), want als jij de tijd binnen haald met een epoch dan heb je de tijd van je server, als jij de locatie van je server weet, weet je dus ook hoelaat het is. Waarschijnlijk wordt het zo super onduidelijk, maar ik hoop dat je me snapt. En anders zou iemand anders ook even een poging moeten doen 
Offline roy - 03/03/2010 20:40 (laatste wijziging 04/03/2010 18:40)
Avatar van roy PHP gevorderde tja dat is een idee...
Ik ben benieuwd naar andere oplossingen..


Zo te zien nemen ze bij Sitemasters gewoon de server tijd ???
Offline Jelmerholland - 03/03/2010 22:32
Avatar van Jelmerholland PHP beginner Volgens mij wel ;)
Offline TotempaaltJ - 04/03/2010 19:45
Avatar van TotempaaltJ PHP interesse Servertijd is idd het beste idee. Eventueel kan je dan gebruikers nog laten instellen of ze in GMT+* zitten, en dat er dan bij optellen. Maak bijvoorbeeld je eigen date functie waarin hij de tijd (en datum misschien?) speciaal aanpast voor die gebruiker.
Offline Joost - 04/03/2010 20:32
Avatar van Joost PHP expert http://www.php.net/manual/en/book.datetime.php

Alles wat je nodig hebt 
Offline roy - 07/03/2010 14:27 (laatste wijziging 07/03/2010 14:41)
Avatar van roy PHP gevorderde Hoe kan ik de tijdzone verkrijgen van de computer waarop de website wordt geopend?

want in wil de GMT tijd gebruiken en dan het tijdzone verschil...
Want als ik de computertijd met javascript ophaal, dan kan daarmee getweakt worden.
Offline Jelmerholland - 07/03/2010 21:33 (laatste wijziging 07/03/2010 23:07)
Avatar van Jelmerholland PHP beginner Google?

Get gmt/utc php
oid...

== Edit ==
Op verzoek van VinTage en dat ik een waarschuwing kreeg:?:, hier de volledige linkjes

http://www.goog...=firefox-a

1e hit:
http://php.net/manual/en/function.date.php

Citaat:
O Difference to Greenwich time (GMT) in hours Example: +0200
P Difference to Greenwich time (GMT) with colon between hours and minutes (added in PHP 5.1.3) Example: +02:00
Offline Joost - 08/03/2010 15:41
Avatar van Joost PHP expert Je kan niet achterhalen in welke timezone iemand zit, je kan alleen via AJAX wel achterhalen welke tijd de browser heeft en daarmee gaan rekenen. 
Offline Jelmerholland - 08/03/2010 17:24
Avatar van Jelmerholland PHP beginner Je kan thet met die date("O") toch achterhalen? Of is dat de servertijd?
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.184s