Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <center>
- <b>Ingrese las fechas con formato dd/mm/yyyy</b>
- <br>
- <br>
- <form name="form1" method="post" action="">
- Fecha de nacimiento del empleado 1:
- <input name="dia1" type="text" MaxLength="2" size="2" />/
- <input name="mes1" type="text" MaxLength="2" size="2" />/
- <input name="ano1" type="text" MaxLength="4" size="4" />
- <br>
- Fecha de nacimiento del empleado 2:
- <input name="dia2" type="text" MaxLength="2" size="2" />/
- <input name="mes2" type="text" MaxLength="2" size="2" />/
- <input name="ano2" type="text" MaxLength="4" size="4" />
- <br>
- Fecha de nacimiento del empleado 3:
- <input name="dia3" type="text" MaxLength="2" size="2" />/
- <input name="mes3" type="text" MaxLength="2" size="2" />/
- <input name="ano3" type="text" MaxLength="4" size="4" />
- <br><br>
- <input type="submit" value="Enviar"/>
- </form>
- <?
- //Fecha nacimiento empleado 1 - "e1"
- $ano1 = $_POST['ano1'];
- $mes1 = $_POST['mes1'];
- $dia1 = $_POST['dia1'];
- //Fecha nacimiento empleado 2 - "e2"
- $ano2 = $_POST['ano2'];
- $mes2 = $_POST['mes2'];
- $dia2 = $_POST['dia2'];
- //Fecha nacimiento empleado 3 - "e3"
- $ano3 = $_POST['ano3'];
- $mes3 = $_POST['mes3'];
- $dia3 = $_POST['dia3'];
- //Fecha actual
- $anoa = date('Y');
- $mesa = date('m');
- $diaa = date('d');
- //Ordeno las fechas
- $timestamp1 = mktime(0,0,0,$mes1,$dia1,$ano1);
- $timestamp2 = mktime(0,0,0,$mes2,$dia2,$ano2);
- $timestamp3 = mktime(0,0,0,$mes3,$dia3,$ano3);
- $timestamp4 = mktime(0,0,0,$mesa,$diaa,$anoa);
- //Obtendo la diferencia de las fechas de nacimiento de los empleados y la fecha actual en segundos
- $sdif1 = $timestamp1 - $timestamp4;
- $sdif2 = $timestamp2 - $timestamp4;
- $sdif3 = $timestamp3 - $timestamp4;
- //Convierto los segundos en días
- $ddif1 = $sdif1 / (60 * 60 * 24);
- $ddif2 = $sdif2 / (60 * 60 * 24);
- $ddif3 = $sdif3 / (60 * 60 * 24);
- //Tomo los dias y quito los posibles negativos
- $ddif1 = abs($ddif1);
- $ddif2 = abs($ddif2);
- $ddif3 = abs($ddif3);
- //Calculo las edades dividiendo por los dias del año, contando los años bisiestos, y quito los decimales
- $e1 = floor($ddif1/365.25);
- $e2 = floor($ddif2/365.25);
- $e3 = floor($ddif3/365.25);
- //Una ves obtenidas las edades comienzo a ordenar de menor a mayor
- if ($dia1!=NULL) {
- if ($mes1!=NULL) {
- if ($ano1!=NULL) {
- if ($dia2!=NULL) {
- if ($mes2!=NULL) {
- if ($ano2!=NULL) {
- if ($dia3!=NULL) {
- if ($mes3!=NULL) {
- if ($ano3!=NULL) {
- if (($e1>$e2) && ($e2>$e3)) {
- echo "El empleado 3, de ".$e3." años, es el menor.<br>El empleado 2, de ".$e2." años, el de edad media.<br>El empleado 1, de ".$e1." años, es el mayor.<br>";
- }
- if (($e1>$e3) && ($e3>$e2)) {
- echo "El empleado 2, de ".$e2." años, es el menor.<br>El empleado 3, de ".$e3." años, el de edad media.<br>El empleado 1, de ".$e1." años, es el mayor.<br>";
- }
- if (($e2>$e3) && ($e3>$e1)) {
- echo "El empleado 1, de ".$e1." años, es el menor.<br>El empleado 3, de ".$e3." años, el de edad media.<br>El empleado 2, de ".$e2." años, es el mayor.<br>";
- }
- if (($e2>$e1) && ($e1>$e3)) {
- echo "El empleado 3, de ".$e3." años, es el menor.<br>El empleado 1, de ".$e1." años, el de edad media.<br>El empleado 2, de ".$e2." años, es el mayor.<br>";
- }
- if (($e3>$e2) && ($e2>$e1)) {
- echo "El empleado 1, de ".$e1." años, es el menor.<br>El empleado 2, de ".$e2." años, el de edad media.<br>El empleado 3, de ".$e3." años, es el mayor.<br>";
- }
- if (($e3>$e1) && ($e1>$e2)) {
- echo "El empleado 2, de ".$e2." años, es el menor.<br>El empleado 1, de ".$e1." años, el de edad media.<br>El empleado 3, de ".$e3." años, es el mayor.<br>";
- }
- if (($e1==$e2) && ($e1>$e3)) {
- echo "Los empleados 1 y 2 tienen ".$e1." años y son los mayores.<br>El empleado 3, de ".$e3." años, es el menor.<br>";
- }
- if (($e1==$e2) && ($e3>$e1)) {
- echo "El empleado 3, de ".$e3." años, es el mayor.<br> Los empleados 1 y 2 tienen ".$e1." años y son los menores.<br>";
- }
- if (($e1==$e3) && ($e1>$e2)) {
- echo "Los empleados 1 y 3 tienen ".$e1." años y son los mayores.<br>El empleado 2, de ".$e2." años, es el menor.<br>";
- }
- if (($e1==$e3) && ($e2>$e1)) {
- echo "El empleado 2, de ".$e2." años, es el mayor.<br> Los empleados 1 y 3 tienen ".$e1." años y son los menores.<br>";
- }
- if (($e2==$e3) && ($e2>$e1)) {
- echo "Los empleados 2 y 3 tienen ".$e2." años y son los mayores.<br>El empleado 1, de ".$e1." años, es el menor.<br>";
- }
- if (($e2==$e3) && ($e1>$e2)) {
- echo "El empleado 1, de ".$e1." años, es el mayor.<br> Los empleados 2 y 3 tienen ".$e2." años y son los menores.<br>";
- }
- if (($e1==$e2) && ($e2==$e3)) {
- echo "Los empleados 1, 2 y 3 tienen ".$e1." años.<br>";
- }
- }
- }
- }
- }
- }
- }
- }
- }
- }
- else {
- echo "Aun no ingresó fechas.";
- }
- echo "<br><hr><br>";
- echo "Usted ingresó la fecha de nacimiento - ".$dia1."/".$mes1."/".$ano1." - para el empleado 1.<br>";
- echo "Usted ingresó la fecha de nacimiento - ".$dia2."/".$mes2."/".$ano2." - para el empleado 2.<br>";
- echo "Usted ingresó la fecha de nacimiento - ".$dia3."/".$mes3."/".$ano3." - para el empleado 3.<br>";
- echo "Hoy, según la fecha indicada por su ordenador, es: ".$diaa."/".$mesa."/".$anoa;
- //La linea siguiente no debería estar en el programa, es una explicación sobre lo que aun no funciona y el porqué se programó como se programó.
- echo "<br><br><b>(Lo que sigue no pertenece al programa)</b><br><br>El código debe ser sencillo con IFs para que lo entienda gente que no se dedica a la programación, por ello usé esta estructura (aún me falta aclarar para que sirven los IF).<br>
- La variable mktime presenta fallos al dejar campos incompletos. Me gustaria que al dejar incompleto algún campo se muestre -Aun no ingresó fechas.- tal como está pero sin devolver los errores que devuelve (pueden hacer simplemente clic en ENVIAR sin rellenar nada y verán el error resultante, si se completan algunos campos y otros no habrán más errores con mktime).<br>
- No se si habrá algún otro error. Desde ya gracias, pueden enviar el resultado a nehuenescaladablog@gmail.com o responder por otro medio, como twitter, el formulario del blog o identi.ca, si lo desean.";
- ?></center>
Add Comment
Please, Sign In to add comment