Personally, I found sorting array by date a non-scalable option due to internal collisions of datetime format. Below may not answer the question to full extent, but may help if one works with array fetched from a DB.
Suppose that in your table there is a primary auto-increment "id" column, then you can always ORDER BY id_column DESC. You will receive same result as sorting by date - but much faster.
If for some reason you can't use ORDER BY id DESC directly via SQL, just restructure array in php via these functions depending on your case.
As a side note: to preview your experiments with above php sorting functions, I strongly recommend visualizing the array display via such snippet that I found somewhere on outskirts of php.net -
function visual_arr($arr){
echo '<pre>';
print_r($arr);
echo '</pre>';
}
to call it - just use this somewhere in your projects' files: visual_arr ($the_array_you_want_to_display_in_human_radable_format). Obviously choose a shorter name for your array ^^
Hope this helps.