Funciones php útiles para trabajar con fechas

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
PHP      23 Agosto, 2008      2386 lecturas      3 comentarios

  1. Jordi Oller

    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. /grunch0

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



  3. diseño web

    Gracias por el ayuda memoria!









Additional comments powered by BackType