gafeman viciao2k3 logo viciao2k3
 
¿que estoy haciendo?
la gente pide a gritos que vuelva a bloguear (bueno en realidad 1) jejeje
 chica del dia  —  la novia de tu mejor amigo
 
Suscribete →  
482  fans y una planta carnivora
 
Viciao2k32008AgostoSábado 23
2

Funciones php útiles para trabajar con fechas

Publicado en PHP  —  419 lecturas

estas son las funciones PHP que más utilizo a la hora de trabajar con fechas:

time
devuelve la hora actual medida en una timestamp de UNIX.

  • $fecha_en_segundos = time(); // resultado: 1219336205

mktime
obtiene la marca de tiempo UNIX de una fecha.

  • $fecha_en_segundos = mktime($hora,$minuto,$segundo,$mes,$dia,$any); // resultado: 1219336205

strtotime
procesa cualquier descripción textual de fecha/hora en Inglés convirtiéndola en una timestamp de UNIX.

  • $fecha_en_segundos = strtotime(’2008-08-21 18:30:05′); // resultado: 1219336205

date
da formato a una hora/fecha local.
lo malo de esta función es que si queremos mostrar el día de la semana o mes siempre sale en inglés.

  • $fecha = date(’d/m/Y’); // resultado: 21/08/2008
  • $fecha = date(’d/m/Y’, $fecha_en_segundos); // resultado: 21/08/2008

strftime
da formato a una hora/fecha local de acuerdo a valores de localidad.

  • $fecha = strftime(’%A, %e de %B %Y‘); // resultado: jueves, 21 de agosto 2008
  • $fecha = strftime(’%A, %e de %B %Y‘, $fecha_en_segundos); // resultado: jueves, 21 de agosto 2008

por defecto la fecha sale en inglés, para que salga en español tienes que ejecutar previamente un setlocale según el sistema operativo de tu servidor:

  • setlocale(LC_TIME, ‘es_ES’); para 1&1
  • setlocale(LC_TIME, ‘es_ES@euro’); para Framecom
  • setlocale(LC_TIME, ‘es_ES.ISO-8859-15@euro’); en Sistemas Debian
  • setlocale (LC_TIME, ‘es_ES@euro’); en Terions
  • setlocale(LC_TIME, ‘es_ES’); en Debian Woody
  • setlocale(LC_TIME, ‘es_ES’); para Sistemas Linux/SuSE
  • setlocale(LC_TIME, ‘es_ES’); sobre RedHat
  • setlocale(LC_TIME, ‘es_ES.ISO_8859-15′); sobre FreeBSD
  • setlocale(LC_TIME, ‘es’); o setlocale(LC_TIME, ‘Spanish’); sobre Windows

lista de setlocales extraída de Redondo Web Services

Es posible que no tengas instalado los paquetes locales en tu servidor:

  • para comprobarlo usa el comando: locale -a
  • para instalar todos los paquetes locales el comando es: apt-get install locales

¡Compartelo!    twitter   del.icio.us   webeame   meneame   stumbleupon   mr.wong   ?

  •  2  comentarios
  •  0  pings   —   0  trackbacks
 
Pings
  1. No hay pingbacks

Trackbacks
  1. No hay trackbacks
  1. Creo que necesitas unas vacaciones! … te vienes conmigo para Cuba el viernes? Y así le decimos a Fidel que internacionalice el es_CU (locale)? jejeje


    Saludos.


  2. Me viene bien para una gilichorrada que estoy programando para acordarme de los cumples de mi gente XDD


0-0

Código de conducta


Cualquier comentario que no cumpla una de las condiciones,
sera borrado sin previo aviso:
  1. Ser persona
  2. No insultar (A eso se le llama Trolear)
  3. No escribir el texto en mayusculas (Es lo mismo que gritar)
  4. No Spamear (ej. hablar de lo que comiste ayer...)
  5. Evitar comentarios del tipo soy primero, soy segundo, hijo de puta...
  6. Escribir el comentario en castellano
  7. Saber el día de la semana que naciste
  8. No deshonrar la ortografia del administrador

La sole

¡Participa en la discusión!





background by eboy