Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

Ya está a la venta Novedades de Visual Basic 9.0

Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu interés (algunos de los avisos publicados)

15/sep/2007
Nueva opción para ver los hilos resueltos: Ver los mensajes resueltos
Por favor acuérdate de marcar los que te respondan correctamente para que esto sea de utilidad. Gracias.

  Foro: PHP.General Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 58195 - automatizar formato de fecha
IDAsuntoFechaNick 
58195 automatizar formato de fecha20/01/18 08:50joserodriguezan   
Buenos días a todos,

Estoy intentando crear un código para que de forma automática indique la diferencia de tiempo entre una fecha y la actual. Por ejemplo:

Si la diferencia es menor a 1 mes que muestre los días. "dias"
Si es igual a un mes que muestre "mes"
Si es >= a 2 y menor o <= 12 que muestre "meses"
Y si es superior a 12 meses pero igual a un año, que muestre "año"
Y si es superior a un año que muestre "años"

Os pongo el código que tengo hecho, pero me falla en años que marca 0 mes.

Alguien podría ayudarme con esto.

Muchas gracias,

<?php

 

 

//Calcular fechas

function calcular_fecha($fecha){

$fecha_select = new DateTime(date('Y/m/d',strtotime($fecha))); // Creo un objeto DateTime de la fecha
     ingresada

$fecha_hoy =  new DateTime(date('Y/m/d',time())); // Creo
     un objeto DateTime de la fecha de hoy

// La funcion ayuda a calcular la diferencia, esto seria un objeto

 

$Actual = date_diff($fecha_hoy,$fecha_select);

 

return $Actual;

}

 

function dias_totales($fecha_i)

{

      $dias    = (strtotime($fecha_i)-time())/86400;

    $dias     = abs($dias); $dias = floor($dias);

    return $dias;

}

$Edad = calcular_fecha('1972-11-20');

$Experiencia = calcular_fecha('2002-10-20');

$Laboral = calcular_fecha('1990-02-01');

 

//Cambiar las dos fechas de $Actual y Actualdays para automatizar

$Actual = calcular_fecha('2016-01-08');

$Actualmes = $Actual->format('%m');

$Actualdays = dias_totales('2016-01-08');

?>

<html>

 

<?php

if ($Actualdays <= 30) {

  echo $Actualdays." días";

 

    }    elseif ($Actualmes <= 1){

    echo $Actual->format('%m')." mes";

 

    }    elseif ($Actualmes >= 2 && $Actualmes <= 12){

    echo $Actual->format('%m')." meses";

 

    }    elseif ($Actualdays > 365){

    echo $Actual->format('%Y')." años";

}

 

?>

 

</html>
IDAsuntoFechaNick 
58196 Re: automatizar formato de fecha (Resp: 58195)22/01/18 07:24joserodriguezan   
Solucionado

Jose Luis.


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2018  - foros.elGuille v1.0.5.3 (23/Mar/2009 14:50 GMT +1)  - (ASP.NET 2.0 v2.0.50727.8762)
 
Usuarios activos: 48 - App. iniciada: 19/06/2018 13:27:40 GMT - La hora GMT del servidor es: 20/06/2018 16:46:50 GMT