Re: possible bug in date()

From: Date: Wed, 19 Apr 2006 18:19:53 +0000
Subject: Re: possible bug in date()
References: 1  Groups: php.general 
Request: Send a blank email to php-general+get-234295@lists.php.net to get a copy of this message
It appears this is a known bug that is/will be fixed in PHP 5.1.3. The current date code for DATE_W3C and DATE_ATOM (in 5.1.2) is "Y-m-d\TH:i:sO". According to http://us3.php.net/manual/en/function.date.php , the other option for the last character is "P" which prints the difference from Greenwich mean time with a colon (as the examples for DATE_W3C and DATE_ATOM suggest). As a workaround, I've found that the string "c" produces the output I was expeciting to get from DATE_W3C and DATE_ATOM. This code:
    $this->dateCreated = date( "c", ATOM, mktime( 0, 0, 0, 23, 2, 2006 ) );
Outputs this:
    2006-02-23T00:00:00-08:00
Mark Mark Slater wrote:
I'm trying to create a date with the DATE_W3C or DATE_ATOM format (they are the same format according to the examples), but the output of date doesn't match the example in the documentation. The http://us3.php.net/manual/en/ref.datetime.php page says the formats are as follows: DATE_ATOM (string) Atom (example: 2005-08-15T15:52:01+00:00) DATE_W3C (string) World Wide Web Consortium (example: 2005-08-15T15:52:01+00:00) DATE_ISO8601 (string) ISO-8601 (example: 2005-08-15T15:52:01+0000) If I create a date with this code:
    $this->dateCreated = date( DATE_ATOM, mktime( 0, 0, 0, 23, 2, 2006 ) );
    echo $this->dateCreated;
I expect to see:
    2006-02-23T00:00:00-08:00
The output I actually get is the ISO-8601 format:
    2006-02-23T00:00:00-0800
The only difference is the colon in the GMT offset at the end. Is the example output in the web page wrong? Or is this a bug in PHP? Thanks, Mark


« previous php.general (#234295) next »