abonnement Unibet Coolblue
pi_145831076
quote:
0s.gif Op woensdag 22 oktober 2014 19:45 schreef wipes66 het volgende:
heeft iemand verstand van timezones? ik probeer "today 00:00" om te zetten in een timestamp, maar wel afhankelijk van een tijdzone (via DateTime). in de unittest vergelijk ik new-york, amsterdam en die van sydney. maar die van amsterdam blijkt lager te zijn dan die van new-york?

dit is de uitkomt:

America/New_York
string(31) "Wed, 22 Oct 2014 13:34:42 -0400"
int(1413950400)

Europe/Amsterdam
string(31) "Wed, 22 Oct 2014 19:34:42 +0200"
int(1413928800)

Australia/Sydney
string(31) "Thu, 23 Oct 2014 04:34:42 +1100"
int(1413982800)

new-york zou toch het laagst moeten zijn omdat daar het "begin van de dag" het meeste achterloopt?
Nee. Om te beginnen kloppen die strings niet. En het probleem met "today" is dat je niet weet welke dat je krijgt. In Australië is 23 oktober al begonnen, dus krijg je die datum als je "today" gebruikt. In de andere gebieden is dat niet het geval en krijg je 22 oktober.

int(1413950400)
2014-10-22 00:00:00-0400

int(1413928800)
2014-10-22 00:00:00+0200

int(1413982800)
2014-10-23 00:00:00+1100

Eigenlijk zoek je voor Sydney deze tijd:
int(1413896400)
2014-10-22 00:00:00+1100
abonnement Unibet Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')