Los foros del Guille

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

Google
 

Regálate mi libro de Visual Basic 2005
Todo lo explicado es para .NET 2.0.
El complemento ideal para mi libro Novedades de Visual Basic 9.0

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

20/oct/2006
Repetimos: ya que de vez en cuando es bueno que sepas que cosas te facilitarán las respuestas:
-No repitas mensajes,
-Intenta escribir un asunto adecuado a tu duda,
-No personalices (no indiques el nombre de quien quieres que responda),
-Explica bien tu duda, ten en cuenta que el que lee no puede leer tu mente y necesita saber todo lo que tu sabes para poder ayudarte.
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.8800)
 
Usuarios activos: 83 - App. iniciada: 10/12/2018 8:45:30 GMT - La hora GMT del servidor es: 10/12/2018 11:13:06 GMT