On Sun, 2 Sep 2012, Will Fitch wrote:

> On Sep 2, 2012 6:08 PM, "Lester Caine" <les...@lsces.co.uk> wrote:
> >
> > Peter Cowburn wrote:
> >>
> >> Finally, why should "echo $datetime;" be expected to work at all,
> >> since 95% of the time it's only going to be echo'd plain like that for
> >> debugging purposes as we'll never pick the "right" format to use in
> >> everyone's code. When needing to set the "default" (read:
> >> per-instance) string format with something like setToStringFormat() or
> >> whatever, that becomes*more*  work than just calling format().
> >
> >
> > Hopefully Will now understands just how problematic his request is, and
> why it has not been implemented as yet. I'm with you but for a slightly
> different reason. I never run anything but UTC on the server. So I'm only
> displaying anything other than UTC when handling a client view of the data.
> So I would normally be calling format with the client timezone data.
> 
> It is problematic because that is what we choose to make it. Right now,  a
> catchable fatal error is produced. That is problematic. ISO8601 is not
> lossy nor is UTC.

This tells me you haven't researched this subject properly. So let me 
demonstrate once more:

$d = date_create( "2012-09-03 09:13:52" );
var_dump( $d );
$s = $d->format( DateTime::ISO8601 );
$d = date_create( $s );
var_dump( $d );

Outputs:

class DateTime#1 (3) {
  public $date =>
  string(19) "2012-09-03 09:13:52"
  public $timezone_type =>
  int(3)
  public $timezone =>
  string(13) "Europe/London"
}

class DateTime#2 (3) {
  public $date =>
  string(19) "2012-09-03 09:13:52"
  public $timezone_type =>
  int(1)
  public $timezone =>
  string(6) "+01:00"
}

And voila, you've just lost the timezone that belongs to the DateTime 
object.

> We have standards for a reason. I agree that changing that should not 
> be allowed. I will remove the set/get pattern functions and only print 
> a standard format. Printing an ISO standard format, which includes the 
> TZ based on UTC, or even the UTC format itself is a better solution 
> than a catchable fatal error.

I disagree as it is an Ostrich Method. Instead of fixing your problem 
you'll just be hiding it.

Derick

-- 
PHP Internals - PHP Runtime Development Mailing List
To unsubscribe, visit: http://www.php.net/unsub.php

Reply via email to