¿Cómo presento por meses y años en PHP?
#1
Posted 12 March 2009 - 04:11 PM
Fleon xD
#2
Posted 13 March 2009 - 07:55 AM
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
Posted 13 March 2009 - 08:05 AM
Fleon xD
#4
Posted 13 March 2009 - 11:29 AM
Me he tomado la libertad de dividir el tema y editando el primer post para que haga referencia al hilo anterior.
Salud OS
#5
Posted 22 May 2009 - 01:57 PM
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
Posted 22 May 2009 - 11:17 PM
#7
Posted 23 May 2009 - 09:23 AM
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
Posted 07 December 2009 - 08:58 AM
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
Posted 07 December 2009 - 09:22 AM