Inicio Apuntes FPApuntes DAW Ejercicio Básico 26 PHP: Calcula la diferencia entre dos fechas, usando la aproximación a objetos

Ejercicio Básico 26 PHP: Calcula la diferencia entre dos fechas, usando la aproximación a objetos

Publicado por entreunosyceros
Publicado el: Última actualización:

AVISO: Esta entrada tiene más de dos años desde su publicación. Es posible que el contenido esté desactualizado.

Bueno, en el post que voy a dejar aquí hoy, voy a intentar realizar un ejercicio sencillo. En el vamos a empezar a ver algunas cosas relacionadas con la programación orientada a objetos en PHP para calcular la diferencia entre dos fechas.diferencia entre dos fechas con PHP

El ejercicio trata sobre realizar un formulario. Con el vamos a calcular la diferencia entre dos fechas, usando la aproximación a objetos de PHP. Esta aproximación se hará con Datetime y diff.

Bueno, explicado el ejercicio … vamos al tema.

Calcula la diferencia entre dos fechas, usando la aproximación a objetos

    <!DOCTYPE html>
    <html>
        <head>
            <meta charset="UTF-8">
            <title>Práctica 26</title>
        </head>
        <body>
            <?php
            if (isset($_POST['Enviar'])) {
                //Guardamos las los datos introducidos por el usuario dentro de variables
                $dia = intval($_POST['dia']);
                $mes = intval($_POST['mes']);
                $anho = intval($_POST['anho']);
               
                //Comprobamos si las variables están vacías.
                if (empty($dia) || empty($mes) || empty($anho)) {
                   
                    echo "ERROR!! los datos introducidos son erroneos o algún campo está en blanco. ";
                    echo " <a href='index.php' title='Volver'>Volver</a>";
                   
                } else {
     
                    //Comprobamos si el número que el usuario ha ingresado un número
                    //menor que 31 en los días y que el número ingresado como mes es menor
                    //que doce.
                    if ($dia > 31 || $mes > 12) {
                       
                        echo "ERROR!! en los datos de la fecha proporcionada.";
                        echo " <a href='index.php' title='Volver'>Volver</a>";
                       
                    } else {
                        //Guardamos las fechas en variables.
                        //$date1 guarda la fecha introducida y $date2 guarda la fecha de hoy.
                        $date1 = new DateTime($anho . "-" . $mes . "-" . $dia);
                        $date2 = new DateTime('NOW');
                       
                        //Comprobamos que la fecha ingresada no es mayor que la fecha actual
                        if ($date2 < $date1) {
                           
                            echo "ERROR!! la fecha que has escrito tiene que ser anterior a la fecha de hoy.";
                            echo " <a href='index.php' title='Volver'>Volver</a>";
                           
                        } else {
                           
                            //Calcula el valor absoluto de la diferencia de entre las fechas
                            $diff = $date2->diff($date1, true);
                            echo "Han transcurrido " . $diff->format('%a días') . " desde la fecha que has escrito y el día de hoy.";
                            echo " <a href='index.php' title='Volver'>Volver</a>";
                        }
                    }
                }
            } else {
                ?>
     
                <!--Formulario de envío-->
                <form action="index.php" method="post" name="form" id="form"><!--Inicio formulario-->
     
                    <table align="center" border="1" >  
     
                        <tr><!--línea texto-->
                            <td align="center" colspan="2" bgcolor="#f0f0f0">
                                <h5>
                                    Escribe una fecha a comparar con el día de hoy
                                </h5>                    
                            </td>
                        </tr><!--Fin de la línea texto-->
     
                        <tr><!--Línea fecha-->
                            <td bgcolor="#f0f0f0">Fecha: </td>
                            <td align="center">
                                Día<input type="text" name="dia" size="2" maxlength="2">
                                Mes<input type="text" name="mes" size="2" maxlength="2">
                                Año<input type="text" name="anho" size="4" maxlength="4">
                            </td>
                        </tr><!--Fin de la línea fecha-->
     
                        <tr><!--línea de botones-->
                            <td align="center" bgcolor="#f0f0f0" colspan="2">
                                <input type="submit" value="enviar" name="Enviar" title="Enviar" />
                                 || 
                                <input type="reset" value="borrar" name="borrar" title="borrar" />
                            </td>
                        </tr><!--Fin línea de botones-->
     
                    </table><!--FIN de la tabla-->
     
                </form><!--Fin del formulario-->
                <?php
            } //cerramos el else para evitar que se imprima en el resultado en la misma
            //página que el formulario.
            ?>
        </body>
    </html>

 

También te puede interesar ...

Deja un comentario

* Al utilizar este formulario, aceptas que este sitio web almacene y maneje tus datos.

2 Comentarios

Agnes 6 mayo, 2016 - 2:29 AM

Muchas gracias, el ejemplo me sirvió muchísimo, saludos desde Argentina :)

Respuesta
sapoclay 6 mayo, 2016 - 12:46 PM

Me alegra que te haya sido útil :)

Respuesta
Resumen de privacidad
cookies entreunosyceros

Esta web utiliza cookies para que podamos ofrecerte la mejor experiencia de usuario posible.

La información de las cookies se almacena en tu navegador y realiza funciones tales como reconocerte cuando vuelves a nuestra web o ayudarnos a comprender qué secciones de la web encuentras más interesantes y útiles.

Nunca almacenamos información personal de ningún tipo.

Tienes toda la información sobre privacidad, derechos legales y cookies en nuestra página sobre la política de privacidad o en la página sobre nuestra política de cookies.

Cookies necesarias

Las cookies estrictamente necesarias tiene que activarse siempre para que podamos guardar tus preferencias de ajustes de cookies.

Si desactivas esta cookie no podremos guardar tus preferencias. Esto significa que cada vez que visites esta web tendrás que activar o desactivar las cookies de nuevo.

Cookies de terceros

Esta web utiliza las siguientes cookies adicionales:

- Mailchimp: Recordar si ya estás suscrito al boletín de noticias y sino ofrecértelo al salir.

- Accesibilidad: Para saber tus ajustes de accesibilidad en cada visita.

- Comentarios: Saber si has leído y aceptado nuestra política de privacidad a la hora de dejar un comentario en la web.

- Google Analytics: Localización para recopilar información anónima tal como el número de visitantes del sitio, o las páginas más populares.

- Goggle Adsense: Anuncios personalizados según tu geolocalización y preferencias.

Dejar estas cookies activadas nos permite mejorar nuestra web.

Adblock Detectado!!

Ayúdanos deshabilitando la extensión AdBlocker de tu navegador para visitar esta web.
Si no sabes hacerlo en Chrome, consulta el siguiente enlace. Si utilizas Firefox, puedes consultar este otro enlace.
Esto mejorará tu experiencia en este sitio web.