Lester Caine wrote:
Lester Caine wrote:
I'm looking to tidy up things a bit by clearing out a lot of old code
and switching to using the internal DateTime functions.
Information is stored in the databases UTC normalized, and we get
around the problem of getting a real tz offset by getting the users to
register it rather than simply relying on the browser. So dates and
times are displayed either UTC or user local time. The server defaults
are not relevant, as only the user details should be used.
OK cracked the first bit - need an '@' in place of the "U"
The thing that I am having a little trouble establishing is the
correct way to take a UTC unix epoch timestamp from the data and
display it with the users timezone offset.
$dateTimeZoneUser = new DateTimeZone("user's setting");
$dateTimeUser =
new DateTime( date( "U", $datetime_to_display ), $dateTimeZoneUser );
new DateTime( '@'.$datetime_to_display, $dateTimeZoneUser );
Completing the circle slowly ....
$dateTimeUser = new DateTime( '@'.$datetime_to_display);
$dateTimeUser->setTimeZone( $dateTimeZoneUser );
$date = $dateTimeUser->format( DATE_ATOM );
But of cause the bit of the jigsaw I forgot is that this needs
translating to the correct language. format does not respect 'setlocale'
setting? How do I get this translated to the users language as well as
their timezone?
Is giving results wildly different from 2008
So how is one supposed to handle epoch values?
That gives me the correct date - but changing the timezone makes no
difference to the output - seems to be displaying local timezone only.
I little aside while sorting the lookup table for timezones,
DateTimeZone::listIdentifiers() apparently should accept a country
code, but again I can't seem to find out how to make it work. Would I
expect it to return just values for the country requested?
--
Lester Caine - G8HFL
-----------------------------
Contact - http://lsces.co.uk/lsces/wiki/?page=contact
L.S.Caine Electronic Services - http://lsces.co.uk
EnquirySolve - http://enquirysolve.com/
Model Engineers Digital Workshop - http://medw.co.uk//
Firebird - http://www.firebirdsql.org/index.php
--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php