Re: Getting separate outputs with Date Functions

From: Date: Wed, 20 Feb 2013 20:05:05 +0000
Subject: Re: Getting separate outputs with Date Functions
References: 1 2 3  Groups: php.internals 
Request: Send a blank email to [email protected] to get a copy of this message
On Wed, Feb 20, 2013 at 11:54 AM, David Soria Parra <[email protected]> wrote:

> On 2013-02-19, Stas Malyshev <[email protected]> wrote:
> > Hi!
> >
> >> echo date_create('@1361240634')->format('Y-m-d');
> >> // output: 2013-02-19
> >>
> >> echo date('Y-m-d',1361240634);
> >> // output: 2013-02-18
> >
> > timestamp dates are created with UTC TZ, date() assumes your configured
> TZ.
>
> I ran into this myself and I personally consider date() assuming your
> configured TZ A bug. Timestamps are defined as UTC and the behaviour of
> DateTime is correct there, that it always assume UTC. date() should do
> the same. But then date() behaviour has been that way since ages
> and probably a lot of code out there is assuming the current TZ when
> using date().
>
> --
> PHP Internals - PHP Runtime Development Mailing List
> To unsubscribe, visit: http://www.php.net/unsub.php
>
>
I'm not sure if I would go so far as to call it a bug, since that is the
intended behavior and developers tend to rely on that.  However, the
inconsistent behavior between how date() and DateTime factor timezones
should at least be documented if it isn't already.

What if we added an optional argument to date() that would allow the
developer to specify a timezone, including UTC?  The default behavior would
be the same as it is now, so there wouldn't be any BC breakage.  Thoughts?

--Kris


Thread (6 messages)

« previous php.internals (#66074) next »