Dates in the
m/d/yord-m-yformats are disambiguated by looking
at the separator between the various components: if the separator is a
slash (/), then the Americanm/d/yis assumed; whereas if the
separator is a dash (-) or a dot (.), then the Europeand-m-y
format is assumed. Check more here.
Use the default date function.
$var = "20/04/2012";
echo date("Y-m-d", strtotime($var) );
EDIT I just tested it, and somehow, PHP doesn’t work well with dd/mm/yyyy format. Here’s another solution.
$var="20/04/2012";
$date = str_replace("https://stackoverflow.com/", '-', $var);
echo date('Y-m-d', strtotime($date));