Bug #51393 [Opn->Asn]: DateTime::createFromFormat() fails if format string contains timezone

[email protected]
Newsgroups php.bugs
Message-ID <[email protected]>
Edit report at http://bugs.php.net/bug.php?id=51393&edit=1

 ID:               51393
 Updated by:       [email protected]
 Reported by:      jo at feuersee dot de
 Summary:          DateTime::createFromFormat() fails if format string
                   contains timezone
-Status:           Open
+Status:           Assigned
 Type:             Bug
 Package:          Date/time related
 Operating System: Linux
 PHP Version:      5.3.2
-Assigned To:      
+Assigned To:      aharvey



Previous Comments:
------------------------------------------------------------------------
[2010-03-25 21:19:03] jo at feuersee dot de

Description:
------------
I was trying to process Apache logfiles with PHP. The default LogFormat
timestamp
%t translates to '[d/M/Y:H:i:s O]' in date() notation.
PHP fails to create DateTime instances if the format argument contains
timezone
placeholders like O P e

I am aware of the 3rd parameter of DateTime::createFromFormat() to pass
timezone
information. 
- the documentation says 'Format accepted by date()'
- DateTime is supposed to help parsing datetime formats, not to restrict

Test script:
---------------
$dt = DateTime::createFromFormat('[d/M/Y:H:i:s O]',
'[13/Mar/1969:23:40:00 +0100]');
print($dt->format('c'));

Expected result:
----------------
1969-03-13T23:40:00+01:00

Actual result:
--------------
Fatal error: Call to a member function format() on a non-object


------------------------------------------------------------------------



-- 
Edit this bug report at http://bugs.php.net/bug.php?id=51393&edit=1
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.