Si la fecha se envía por formulario en el siguiente formato, $month=2, $day=31, $year= 2010
. ¿Cómo puedo verificar el uso de la función de fecha de PHP si es válida o no? Gracias.cómo validar la fecha con PHP
Respuesta
http://php.net/manual/en/function.checkdate.php
La función checkdate
es el primer resultado de Google de la búsqueda "fecha de php Validar"
En su caso, el uso sería:
checkdate($month, $day, $year);
Y la mejor solución – RobertPitt
¡Gracias por publicar su respuesta! Tenga en cuenta que debe publicar las partes esenciales de la respuesta aquí, en este sitio, o su publicación corre el riesgo de ser eliminada Consulte las preguntas frecuentes donde se mencionan las respuestas que son 'apenas más que un enlace'. Puede incluir el enlace si lo desea, pero solo como una "referencia". La respuesta debería ser independiente sin necesidad del enlace. –
bool checkdate (int $month , int $day , int $year)
Try checkdate() http://php.net/manual/en/function.checkdate.php
checkdate($month, $day, $year);
devuelve verdadero si la fecha es válida/falso en caso contrario
Esto es lo que he llegado con combinar el rigor de checkdate() con la comodidad de DateTime (Convierte entradas como 'el próximo jueves' o ' 2 semanas atrás ')
Si la cadena de entrada no es válida, devuelve falso. Las fechas vacías se devuelven como nulas, y las fechas no vacías se formatean estilo MySQL 'Y-m-d'.
/**
* @return variant null for empty date, mysql date string for valid date, or false for invalid date string
*/
function myCheckDate($date)
{
$result=false;
if($date=='')
{
$result=null;
}
else
{
//Best of both worlds
// - flexibility of DateTime (next thursday, 2 weeks ago, etc)
// - strictness of checkdate (2000-02-31 is not allowed)
$m=false;
$d=false;
$y=false;
$parts=date_parse($date);
if($parts!==false)
{
$m=$parts['month'];
$d=$parts['day'];
$y=$parts['year'];
}
if($m!==false && $d!==false)
{
if($y===false) $y=date('Y'); //Default to this year
//Try for a specific date - this catches bad entries like 'feb 31, 2000'
if(checkdate($m,$d,$y)) $result=sprintf('%04d-%02d-%02d',$y,$m,$d);
}
else
{
//Try for something more generic - this allows entries like 'next thursday'
$dt=false;
try{ $dt=new \DateTime($date); }catch(\Exception $e){ $dt=false; }
if($dt!==false) $result=$dt->format('Y-m-d');
}
}
return $result;
}
<?php
function validateDate($date, $format = 'Y-m-d H:i:s'){
$d = DateTime::createFromFormat($format, $date);
return $d && $d->format($format) == $date;
}
?>
var_dump(validateDate('2012-02-28 12:12:12')); # true
var_dump(validateDate('2012-02-30 12:12:12')); # false
var_dump(validateDate('2012-02-28', 'Y-m-d')); # true
var_dump(validateDate('28/02/2012', 'd/m/Y')); # true
var_dump(validateDate('30/02/2012', 'd/m/Y')); # false
- 1. Cómo validar una fecha MYSQL en PHP?
- 2. Validar formato de fecha en php
- 3. Cómo validar una expresión regular con PHP
- 4. Validar si la fecha es anterior a la fecha actual
- 5. ¿Cómo manejar la fecha y la hora con PHP?
- 6. Validar las entradas de Crontab con PHP
- 7. php validar número entero
- 8. Validar la sintaxis de PHP en VIM
- 9. Validar json en php
- 10. JSR 303 - javax.validation - Validar una fecha
- 11. Jquery datepicker: validar fecha mm/dd/aaaa
- 12. cómo validar números decimales en PHP
- 13. ¿Cómo puedo validar la estructura de mis matrices PHP?
- 14. ¿Cómo validar un correo electrónico en PHP?
- 15. Validar Fecha y hora en raíles
- 16. C# Expresión regular para validar una fecha?
- 17. parámetros Validar URL en php
- 18. Asp.net compare el validador para validar la fecha
- 19. php - Ordena matriz con fecha como clave
- 20. validar dos campos con jQuery Validar
- 21. PHP y MySql con problema de fecha ...?
- 22. hora y la fecha del sello de tiempo con php
- 23. PHP: Fecha más grande que la fecha actual
- 24. Convertir la fecha PHP en formato de fecha de javascript
- 25. Comprueba si la variable es una fecha válida con PHP
- 26. Convert String Hasta la fecha en PHP
- 27. PHP Fecha Pregunta
- 28. convertir la fecha a unixtime php
- 29. Formato de fecha PHP
- 30. PHP Regex validar letras y acento español
fechas a través de la introducción de texto ** ** ** campos o menús desplegables **? Normalmente, para cualquier fecha, recomiendo ** menús desplegables **, ya que puede ser una forma muy fácil y simple de verificar y validar la fecha. – Eli
@Eli ¿Cómo? Cualquiera puede editar valores en un menú desplegable usando firebug o chrome inspector. Deberías _ siempre_ validar los datos provenientes de un navegador. – Samuel
Lo siento, debería haber sido más claro. La validación de duelo es siempre la mejor. (HTML/JavaScript/etc.) para la validación previa a la presentación de la página y la verificación del formato de fecha para el usuario normal y la validación del lado del servidor para el saneamiento antes del procesamiento. – Eli