... pués este post corresponde a PHP ó a (X)HTML... ó a JavaScript

.. pero no aquí.
1) Con PHP tú puedes recojer cualquier formato y ordenarlo de la forma correcta
Código PHP:
$fecha= "DD-MM-YYYY";
$partes= explode("-", $fecha);
echo $partes[2]."-".$partes[1]."-".$partes[0];
www.php.net/explode
2) Con HTML...

puedes crear tres textbox para cada parte en específico

Poco elegante pero sirve

:
Código HTML:
Fecha (formato YYYY-MM-DD):
<input name="anyo" type="text" size="5" maxlength="4">-<input name="mes" type="text" size="3" maxlength="2">-<input name="dia" type="text" size="3" maxlength="2">
3) Con JavaScript puedes insertar los "-" al llegar a 4, y 6 carácteres respectivamente.. además si buscas encontrarás buenos scripts de calendarios... El de Tunait, por ejemplo, te asigna a un textbox la fecha clickeada en formato dd-mm-yyyy, entonces con PHP puedes hacer lo que te dije... TODO ES CUESTIÓN DE BUSCAR.
Saludos!