public function format($value)
{
$date = $this->getDate($value);
$bits['yyyy'] = $date['year'];
$bits['yy'] = substr("{$date['year']}", -2);
$bits['MM'] = str_pad("{$date['mon']}", 2, '0', STR_PAD_LEFT);
$bits['M'] = $date['mon'];
$bits['dd'] = str_pad("{$date['mday']}", 2, '0', STR_PAD_LEFT);
$bits['d'] = $date['mday'];
$pattern = preg_replace('/M{3,4}/', 'MM', $this->pattern);
return str_replace(array_keys($bits), $bits, $pattern);
}