Sitios webTrucos Informáticos

Fecha y hora en PHP

Si tienes un sitio Web y quieres implementar un script que calcule la fecha y hora, y la imprima en las páginas, dispones de dos opciones: utilizar javascript para mostrar la fecha del ordenador del cliente o emplear PHP para indicar la fecha del servidor en el que se aloja tu sitio. Te mostramos el segundo caso.

Fecha y hora en PHP

Este sería el script:

<?php
/*
Script en PHP para mostrar la fecha del servidor web en  						tus páginas
*/

/* Definición de los meses del año en castellano */

$mes[0]="-";
$mes[1]="enero";
$mes[2]="febrero";
$mes[3]="marzo";
$mes[4]="abril";
$mes[5]="mayo";
$mes[6]="junio";
$mes[7]="julio";
$mes[8]="agosto";
$mes[9]="septiembre";
$mes[10]="octubre";
$mes[11]="noviembre";
$mes[12]="diciembre";

/* Definición de los das de la semana */

$dia[0]="Domingo";
$dia[1]="Lunes";
$dia[2]="Martes";
$dia[3]="Miércoles";
$dia[4]="Jueves";
$dia[5]="Viernes";
$dia[6]="Sábado";

/* Implementación de las variables que calculan la fecha  						*/

$gisett=(int)date("w");
$mesnum=(int)date("m");

/* Variable que calcula la hora
*/

$hora = date(" H:i",time());

/* Presentación de los resultados en una forma similar a la siguiente:
Jueves, 1 de julio de 2010 | 15:56
*/

echo $dia[$gisett].", ".date("d")." de ".$mes[$mesnum]." de ".date("Y")." | ".$hora;

?>

Si el servidor no se encuentra en Europa y, por tanto, no refleja la fecha y hora europea, es conveniente insertar una línea, al principio del script como la que viene a continuación:

putenv('TZ=Europe/Madrid');
Etiquetas

fabriciano

Amante de la informática y de Internet entre otras muchas pasiones. Leo, descifro, interpreto, combino y escribo. Lo hago para seguir viviendo y disfrutando. Trato de dominar el tiempo para que no me esclavice.

12 Comentarios

  1. Hola fabriciano, me ha servido mucho tu aporte sólo tengo la duda de cómo cambiar por la de mi país Bolivia y exáctamente donde poner el código.

    Saludos y muchas gracias por responder

    1. Hola Roberto,

      Tendrías que cambiar putenv(‘TZ=Europe/Madrid’); por putenv(‘America/La_Paz’);. Tendrías que insertar la línea al principio del script.

      Saludos.

    2. Gracias por responder tan rápido!!!. He colocado lo indicado justo antes de:
      $mes[0]=”-”

      Pero aún muestra la hora con una de retraso, supongo que el servidor en el que está alojada la página está mal configurado o yo estoy colocando el código en un lugar incorrecto?

      Saludos

      1. Deshaz lo último que te dije y sustituye $hora = date(” H:i”,time());, que aparece en el script original, por las dos líneas siguientes:

        $nueva_hora = time() + 3600;
        $hora = date(” H:i”,$nueva_hora);

        Espero que así funcione.

    1. Depende de la zona exacta. Puede ser, en vez de TZ=Europe/Madrid, habrá que poner TZ=Chile/Continental o TZ=Chile/EasterIsland.

      Saludos.

  2. La función date de PHP obtiene la hora y fecha del servidor o del ordenador en que veo la página??