¿Cómo presento por meses y años en PHP?
#1
Escrito 12 marzo 2009 - 04:11
Fleon xD
#2
Escrito 13 marzo 2009 - 07:55
Hola amigos, aprovecho éste hilo para otra consulta relacionado con este mismo código, partiendo del código anterior, ¿cómo hago para que me presente por meses y años?, o sea, ahora mismo me lo presenta en dias ( 15 días ), pero quisiera que me presentara de esta forma : 1 Mes y 15 Días ó 1 Año 3 Meses y 15 Días y así sucesivamente, ¿es posible eso?
Fleon xD
Saludos.
Compañero Fleon, una recomendación, creo que es mejor abrir otro hilo sobre el tema para no ligar dos conceptos un tanto diferente aunque a la vez vayan en la misma línea, así para búsquedas de temas es mucho más fácil conseguir.
Sabes que puedes hacer un enlace (link) de otro tema dentro un tema nuevo.
No te respondo sobre la pregunta porque no sé PHP, sino con mucho gusto.
#3
Escrito 13 marzo 2009 - 08:05
Fleon xD
#4
Escrito 13 marzo 2009 - 11:29
Me he tomado la libertad de dividir el tema y editando el primer post para que haga referencia al hilo anterior.
Salud OS
#5
Escrito 22 mayo 2009 - 01:57
function haceCuanto($fecha, $fecha_final){ $tiempo = $fecha_final-$fecha; if($tiempo <= 60){ $hace = "Hace " .$tiempo. " segundos.."; } } else { $hace = "Hace " .$can. " minutos.."; } } else { if($can <= 1) { $word = "hora.."; } else { $word = "horas.."; } $hace = "Hace aproximadamente " .$can. " ".$word; } } else { $hace = "Hace aproximadamente " .$can. " días.."; } } else { if($can <= 1) { $word = "mes.."; } else { $word = "meses.."; } $hace = "Hace aproximadamente " .$can. " ".$word; } } else { if($can <= 1) { $word = "año..";} else { $word = "años.."; } $hace = "Hace aproximadamente " .$can. " ".$word; } // Mensaje return $hace; }
Su modo de uso sería así:
$fecha1 = "2008-10-31"; $mensaje = haceCuanto($fecha1, $fecha2); Echo $mensaje;
El resultado sería
Hace aproximadamente 1 año..
Saludos.
#6
Escrito 22 mayo 2009 - 11:17
#7
Escrito 23 mayo 2009 - 09:23
Bonita funcion, va para mi biblioteca recien empezada de php. gracias.
Hola, aquí tengo otro que es más preciso:
// Configuramos la fecha base aquí $base_day = 31; // no es compatible "0" $base_mon = 10; // no es compatible "0" $base_yr = 2008; // Usemos años de 4 dígitos! // Obtenemos la fecha actual // Y ahora calculamos la diferencia! // el overflow siempre es causado por los días máximos de $base_mon // entonces necesitamos saber cuantos días tiene $base_mon // Días que quedan hasta el final del mes $base_day_diff = $base_mon_max - $base_day; // meses que quedan hasta el final del año $base_mon_diff = 12 - $base_mon - 1; // empecemos con el 1ro de Enero del próximo año $start_day = 1; $start_mon = 1; $start_yr = $base_yr + 1; // Diferencia a partir del primer día del año (01/01/xxxx) $day_diff = ($current_day - $start_day) + 1; // Hoy $mon_diff = ($current_mon - $start_mon) + 1; // Mes actual $yr_diff = ($current_yr - $start_yr); // y agregamos el resto de $base_yr $day_diff = $day_diff + $base_day_diff; $mon_diff = $mon_diff + $base_mon_diff; // manejamos el exceso de días if ($day_diff >= $base_mon_max) { $day_diff = $day_diff - $base_mon_max; $mon_diff = $mon_diff + 1; } // manejamos el exceso de años if ($mon_diff >= 12) { $mon_diff = $mon_diff - 12; $yr_diff = $yr_diff + 1; } // los resultados aquí: // $yr_diff --> El año entre dos fechas // $mon_diff --> El mes entre dos fechas // $day_diff --> Los días entre dos fechas // **************************************************************************** // Aquí filtramos si es en plural o singular $years = "años"; $days = "días"; $months = "meses"; if ($yr_diff == "1") $years = "año"; if ($day_diff == "1") $days = "día"; if ($mon_diff == "1") $months = "mes"; // Imprimos el tiempo transcurrido if ($yr_diff == "0") { echo ' <td width="90%" class="titlebg2">Tenemos <b>', $mon_diff ,' ', $months, ' y ', $day_diff, ' ' ,$days, '</b> en línea. </td>'; } else { echo ' <td width="90%" class="titlebg2">Tenemos <b>', $yr_diff ,' ', $years, ', ', $mon_diff, ' ', $months, ' y ', $day_diff, ' ' ,$days, '</b> en línea. </td>'; }
El resultado es el mismo que usamos aquí en el foro:
Tenemos 6 meses y 23 días en línea.
Saludos.
#8
Escrito 07 diciembre 2009 - 08:58
function fecha(){ switch ($dia) { case 0: $dia ="Domingo"; break; case 1: $dia = "Lunes"; break; case 2: $dia ="Martes"; break; case 3: $dia ="Miércoles"; break; case 4: $dia ="Jueves"; break; case 5: $dia ="Viernes"; break; case 6: $dia ="Sábado"; break; } switch ($mes){ case '01': $mes="Enero"; break; case '02': $mes="Febrero"; break; case '03': $mes="Marzo"; break; case '04': $mes="Abril"; break; case '05': $mes="Mayo"; break; case '06': $mes="Junio"; break; case '07': $mes="Julio"; break; case '08': $mes="Agosto"; break; case '09': $mes="Septiembre"; break; case '10': $mes="Octubre"; break; case '11': $mes="Noviembre"; break; case '12': $mes="Diciembre"; break; } return $fecha; }
Saludos desde Chile...
#9
Escrito 07 diciembre 2009 - 09:22