<?php
function InvertData($data) {
$format = NULL;
$frt = NULL;
if (preg_match("/^[0-9]{4}-(0[1-9]|1[0-2])-(0[1-9]|[1-2][0-9]|3[0-1])$/",$data)) { $format = "Y-m-d";
$frt = "d/m/Y";
return NULL;
}
} else if (preg_match("/^(0[1-9]|[1-2][0-9]|3[0-1])\/(0[1-9]|1[0-2])\/[0-9]{4}$/",$data)){ $format = "d/m/Y";
$frt = "Y-m-d";
return NULL;
}
}
if ($format != NULL && $frt != NULL) {
$data = date_create_from_format($format, $data);
if ($data != NULL) {
return $data->format($frt);
}
}
return NULL;
}
$resposta = InvertData("1980-05-05");
echo "Data inválida ...";
} else {
echo $resposta;
}
echo PHP_EOL;
/**/
$resposta = InvertData("80-5-5");
echo "Data inválida ...";
} else {
echo $resposta;
}
echo PHP_EOL;
/**/
$resposta = InvertData("31/12/2005");
echo "Data inválida ...";
} else {
echo $resposta;
}
echo PHP_EOL;
PD9waHAKZnVuY3Rpb24gSW52ZXJ0RGF0YSgkZGF0YSkgewoJJGZvcm1hdCA9IE5VTEw7CgkkZnJ0ICAgID0gTlVMTDsKCWlmIChwcmVnX21hdGNoKCIvXlswLTldezR9LSgwWzEtOV18MVswLTJdKS0oMFsxLTldfFsxLTJdWzAtOV18M1swLTFdKSQvIiwkZGF0YSkpIHsKCQkkZm9ybWF0ID0gIlktbS1kIjsJCgkJJGZydCAgICA9ICJkL20vWSI7CgkJJGR0YSA9IGV4cGxvZGUoJy0nLCAkZGF0YSk7CgkJaWYgKCFjaGVja2RhdGUoJGR0YVsxXSwkZHRhWzJdLCRkdGFbMF0pKXsKCQkJcmV0dXJuIE5VTEw7CgkJfQoJfSBlbHNlIGlmIChwcmVnX21hdGNoKCIvXigwWzEtOV18WzEtMl1bMC05XXwzWzAtMV0pXC8oMFsxLTldfDFbMC0yXSlcL1swLTldezR9JC8iLCRkYXRhKSl7CgkJJGZvcm1hdCA9ICJkL20vWSI7CQoJCSRmcnQgICAgPSAiWS1tLWQiOwoJCSRkdGEgPSBleHBsb2RlKCcvJywgJGRhdGEpOwoJCWlmICghY2hlY2tkYXRlKCRkdGFbMV0sJGR0YVswXSwkZHRhWzJdKSl7CgkJCXJldHVybiBOVUxMOwoJCX0KCX0KCWlmICgkZm9ybWF0ICE9IE5VTEwgJiYgJGZydCAhPSBOVUxMKSB7CiAgICAJJGRhdGEgPSBkYXRlX2NyZWF0ZV9mcm9tX2Zvcm1hdCgkZm9ybWF0LCAkZGF0YSk7CiAgICAJaWYgKCRkYXRhICE9IE5VTEwpIHsKICAgIAkJcmV0dXJuICRkYXRhLT5mb3JtYXQoJGZydCk7CiAgICAJfQoJfQoJcmV0dXJuIE5VTEw7Cn0KCiRyZXNwb3N0YSA9IEludmVydERhdGEoIjE5ODAtMDUtMDUiKTsKaWYgKGVtcHR5KCRyZXNwb3N0YSkpIHsKCWVjaG8gIkRhdGEgaW52w6FsaWRhIC4uLiI7Cn0gZWxzZSB7CgllY2hvICRyZXNwb3N0YTsKfQplY2hvIFBIUF9FT0w7Ci8qKi8KJHJlc3Bvc3RhID0gSW52ZXJ0RGF0YSgiODAtNS01Iik7CmlmIChlbXB0eSgkcmVzcG9zdGEpKSB7CgllY2hvICJEYXRhIGludsOhbGlkYSAuLi4iOwp9IGVsc2UgewoJZWNobyAkcmVzcG9zdGE7Cn0KZWNobyBQSFBfRU9MOwovKiovCiRyZXNwb3N0YSA9IEludmVydERhdGEoIjMxLzEyLzIwMDUiKTsKaWYgKGVtcHR5KCRyZXNwb3N0YSkpIHsKCWVjaG8gIkRhdGEgaW52w6FsaWRhIC4uLiI7Cn0gZWxzZSB7CgllY2hvICRyZXNwb3N0YTsKfQplY2hvIFBIUF9FT0w7