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,
date()
function)
Update:
I use PHP 5.1.9
This is also possible usingZend_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.
精彩评论