PEAR is discontinued

This is a static archive preserving historical releases and metadata. No new packages or updates will be published. For updates to existing packages, or to publish new packages, please use Composer and Packagist.

Home » Date and Time » Date » Bug #2401

In Date::setDate(), $date should have seconds be optional

Details

Request #2401In Date::setDate(), $date should have seconds be optional
Submitted2004-09-26 20:54 UTC
Fromscragz at hotmail dot com
Assignedpajoye
StatusWont fix
PackageDate
PHP Version4.3.8
OSDebian Sarge
Roadmaps(Not assigned)

Comments

[2004-09-26 20:54 UTC] scragz at hotmail dot com

Description:
------------
Date::setDate() should be able to parse a datetime without seconds, e.g. "2004-09-26 13:30".

Reproduce code:
---------------
<?php
$date =& new Date('2004-09-26 13:30');
echo $date->year;
?>

This can be fixed by changing the setDate regexp to "/^(\d{4})-?(\d{2})-?(\d{2})([T\s]?(\d{2}):?(\d{2}):?(\d{2})?(\.\d+)?(Z|[\+\-]\d{2}:?\d{2})?)?$/i"

Expected result:
----------------
2004

Actual result:
--------------
0

[2004-11-05 12:59 UTC] pierre at dotgeek dot org

Hello,

Can you point to a doc which refers to this date time format?
ISO or others?

--Pierre

[2004-11-05 18:03 UTC] scragz at hotmail dot com

It's not a standard date. I was only trying to make the regex more versatile based on this comment found directly below it:

// DATE_FORMAT_ISO, ISO_BASIC, ISO_EXTENDED, and TIMESTAMP
// These formats are extremely close to each other. This regex
// is very loose and accepts almost any butchered format you could
// throw at it. e.g. 2003-10-07 19:45:15 and 2003-10071945:15
// are the same thing in the eyes of this regex, even though the
// latter is not a valid ISO 8601 date.

[2006-03-13 11:24 UTC] scragz at hotmail dot com

Is there a format argument where you can give it a custom (non-standard) format for the input that I'm missing?