Solucionado con javascript!
llamo a esta función desde un onblur o onchange del input type="date"
<script type="text/javascript">
// por si en vez de meter 2016 meten 16 y yo lo sustituyo por 2016
function revisar_fecha(campo){
fecha_introducida = campo.value;
//devuelve la fecha en ingles 0016-01-01
ano_introducido = fecha_introducida.substring(0,2);
if (ano_introducido == "00")
{
fecha_a_devolver = "20"+fecha_introducida.substring(2);
campo.value = fecha_a_devolver;
}
}
</script>
y luego lo compruebo desde php
- - - Actualizado - - -
La mejoro:
<script type="text/javascript">
// por si en vez de meter 2016 meten 16 y yo lo sustituyo por 2016
function revisar_fecha(campo){
fecha_introducida = campo.value;
//devuelve la fecha en ingles 0016-01-01
ano_introducido = fecha_introducida.substring(0,2);
var segunda_parte_del_ano = parseInt(fecha_introducida.substring(2,4));
if (ano_introducido == "00") // si sólo ha metido 16 o 98 // 2016 o 1998
{
if (segunda_parte_del_ano < 40) // eso es que es del año 2000, hasta el 2040
{
campo.value = "20"+fecha_introducida.substring(2);
}else{
campo.value = "19"+fecha_introducida.substring(2);
}
}
}
</script>