- preg_match: documentation ( source)
- floor: documentation ( source)
- strtotime: documentation ( source)
- sprintf: documentation ( source)
<?php
$dateInString = '01.02.2015';
if (preg_match('/(\d{2})\.(\d{2})\.(\d{4})/', $dateInString, $m) )
{
$te = strtotime(sprintf('%d-%02d-%02d 00:00:00', $m[3], $m[1], $m[2]));
$ts = strtotime(sprintf('%d-01-01 00:00:00', $m[3]));
echo floor(($te-$ts)/3600/24);
}
else
{
echo 'Bad format';
}