开发者

Function to parse date to parts

开发者 https://www.devze.com 2023-03-25 15:58 出处:网络
Is there any nice function in PHP to parse the date into parts given the specified format? e.g. some_function(\'20112开发者_运维百科000\', \'dmY\')

Is there any nice function in PHP to parse the date into parts given the specified format?

e.g.

some_function('20112开发者_运维百科000', 'dmY') 
some_function('2000-11-20', 'Y-m-d')
some_function('2000 text 11-20', 'Y text m-d')

array('d'=>20, 'm'=>11, 'Y'=>2000) expected in all of the above cases,

(assuming formats compatible with date() function)

Update:

I use PHP 5.1.9

This is also possible using Zend_Date, but it uses different formats than date() (e.g. ddMMyyyy)


With PHP >= 5.3, the DateTime::createFromFormat() allows one to parse a date according to a specified format.

After that, you get a DateTime object, and up to your to work with it in order to get the array you want.


Write your own:

function ($date, $format = array('d', 'm', 'Y')) {
    $ts = strtotime($date);
    $out = array();
    foreach ($format as $v) {
        $out[$v] = date($v, $ts);
    }
    return $out;
}


For PHP < 5.3, look at the more strptime. It uses strftime format, but is sort of what you are looking for.

0

精彩评论

暂无评论...
验证码 换一张
取 消