Foros del Web » Programando para Internet » PHP »

Problemas con funcion traduce mes a letras !!!

Estas en el tema de Problemas con funcion traduce mes a letras !!! en el foro de PHP en Foros del Web. hola gente, tanto tiempo sin postear, ahora me surge un problema con una funcion. Lo que hace la funcion es dependiendo del mes que estamos ...
  #1 (permalink)  
Antiguo 03/09/2009, 06:10
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Pregunta Problemas con funcion traduce mes a letras !!!

hola gente, tanto tiempo sin postear, ahora me surge un problema con una funcion.
Lo que hace la funcion es dependiendo del mes que estamos me lo pone en letras, pero ahora que estamos en septiembre, me pone Agosto cuando me imprime la fecha, y no se que puede ser !!!
Aca les dejo la funcion para ver si alguien encuentra un error, o puede estar en otro lado el tema.
Gracias.
Código php:
Ver original
  1. $date = date("Y-m-d");
  2.  
  3. list( $year, $month, $day ) = split( '[-]', $date );
  4. function traduce_mes($num)
  5. {
  6. switch ($num)
  7. {
  8. case 01: $month = "Enero"; break;
  9. case 02: $month = "Febrero"; break;
  10. case 03: $month = "Marzo"; break;
  11. case 04: $month = "Abril"; break;
  12. case 05: $month = "Mayo"; break;
  13. case 06: $month = "Junio"; break;
  14. case 07: $month = "Julio"; break;
  15. case 08: $month = "Agosto"; break;
  16. case 09: $month = "Septiembre"; break;
  17. case 10: $month = "Octubre"; break;
  18. case 11: $month = "Noviembre"; break;
  19. case 12: $month = "Diciembre"; break;
  20. }
  21. return $month;
  22. }
  23.  
  24. $func = traduce_mes($month);
  25. $fecha="Rosario, $day de $func de $year"; // aca imprimo la fecha de la forma larga
  26.  
  27. ?>

Saludos, Ricardo
__________________
Mail: [email protected]
  #2 (permalink)  
Antiguo 03/09/2009, 06:24
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 15 años, 9 meses
Puntos: 1532
Respuesta: Problemas con funcion traduce mes a letras !!!

prueba con traduce_mes(intval($month));

Utilizar una función para esto es poco practico, mejor utiliza un array, consumes menos memoria que declarando un funcion completa a la que el interprete tiene que darle punteros y todo lo demás (a nivel de memoria):

Código PHP:
$meses=array(1=>"enero","febrero", ... "diciembre");//completa los meses en los ... ;-)
echo $meses[5];// imprimirá mayo 
  #3 (permalink)  
Antiguo 03/09/2009, 07:15
Avatar de colote  
Fecha de Ingreso: julio-2008
Ubicación: Rosario - Santa Fe - Argentina
Mensajes: 729
Antigüedad: 15 años, 9 meses
Puntos: 8
Respuesta: Problemas con funcion traduce mes a letras !!!

Esta bien, pasa que tengo que hacerlo con un swith, ya que la fecha me sale sola dependiendo del mes de la fecha actual.
Voy a probar con el array, y en el swith comparo el mes $month que es el actual con el contenido del array.

Alguna otra idea ?

Saludos, Ricardo !!!
__________________
Mail: [email protected]
  #4 (permalink)  
Antiguo 03/09/2009, 07:29
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 5 meses
Puntos: 69
Respuesta: Problemas con funcion traduce mes a letras !!!

El problema está en tus "case", porque estás anteponiendo un cero (0) a los números, y eso te los transforma en notación octal (Base 8). Sacándole los ceros de antemano, debería hacer que todo te funcione correctamente.

Saludos.
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 14:05.