Códigos para insertar en una página y así mostrar la hora, el día, el día de la semana, el mes, el año, además relojes y calendarios que embellecen tu página y la hacen más útil y funcional para los usuarios. Ejemplos prácticos para copiar y pegar.

Javascript facilita agregar diferente funcionalidades en las páginas web.
Al ser un lenguaje que se ejecuta del lado del cliente o navegador, permite darle dinamismo a las páginas, es decir hacer que cambie su contenido sin tener que recargarla más del servidor.
Una de estas funcionalidades es usar Javascript para mostrar la fecha y hora en las páginas de una infinidad de formas.
Diversos programas de edición web y CMS brindan la posibilidad de crear páginas que incluyen los scripts necesarios para mostrar la fecha y hora, así como calendarios almanaques, etc.
No obstante si eres emprendedor o deseas un resultado diferente, puedes conocer cómo hacerlo manualmente.
Puedes hacerlo de formas diferente, directamente copiando y pegando los códigos que aparecen en esta página, modificarlos previamente a tu gusto o hasta crearlos usando las funciones que se muestran más adelante.
No es nada difícil, ni se necesita tener conocimientos avanzados de Javascript. Para crearlos usando las funciones solo es necesario algunos conocimientos elementales, para modificarlos solo un poco de razonamiento lógico y para usarlos copiando y pegando, solo saber el lugar donde se desean mostrar.
En todos los casos se puede usar CSS para darle un estilo único.
Al ser un lenguaje que se ejecuta del lado del cliente o navegador, permite darle dinamismo a las páginas, es decir hacer que cambie su contenido sin tener que recargarla más del servidor.
Una de estas funcionalidades es usar Javascript para mostrar la fecha y hora en las páginas de una infinidad de formas.
Diversos programas de edición web y CMS brindan la posibilidad de crear páginas que incluyen los scripts necesarios para mostrar la fecha y hora, así como calendarios almanaques, etc.
No obstante si eres emprendedor o deseas un resultado diferente, puedes conocer cómo hacerlo manualmente.
Puedes hacerlo de formas diferente, directamente copiando y pegando los códigos que aparecen en esta página, modificarlos previamente a tu gusto o hasta crearlos usando las funciones que se muestran más adelante.
No es nada difícil, ni se necesita tener conocimientos avanzados de Javascript. Para crearlos usando las funciones solo es necesario algunos conocimientos elementales, para modificarlos solo un poco de razonamiento lógico y para usarlos copiando y pegando, solo saber el lugar donde se desean mostrar.
En todos los casos se puede usar CSS para darle un estilo único.
Marca de tiempo UNIX
Para el control del tiempo, este viene dado por un número que es la Marca de
tiempo Unix. Esta indica el número de segundos transcurridos desde el 1 de
enero de 1970 a las 0h. 0m. 0s. hora GTM (internacional medida en Greenwich).
Las fechas anteriores al 1-enero-1970 dan como Marca de tiempo un número
negativo.
De esta manera a cada fecha o instante (a cada segundo) le corresponde un
número de Marca de tiempo Unix, este número es la base para poder hacer
cálculos con fechas.
Hayar la marca de tiempo Unix
time();
Esta función devuleve la marca de tiempo Unix para la fecha actual (en el
momento de cargarse la página). La función no tiene argumentos. Ejemplo:
echo "Marca de tiempo Unix para la fecha actual:
".time();
Lo cual lo veremos así:
Marca de tiempo Unix para la fecha actual: 1468869599
mktime(hora,min,seg,mes,dia,ano);
Esta función devuelve la marca de tiempo Unix para una fecha concreta, la
cual es pasada en los argumentos de la función, los argumentos deben rellenarse
con números, y en el siguiente orden, hora, minuto, segundo, mes, día, año.
Podemos dejar vacíos los argumentos de derecha a izquierda, en ese caso tomarán
el valor de la fecha actual. Tanto esta función como la anterior tienen en
cuenta las diferencias horarias locales, de manera que nos dará el timpo Unix para
la fecha y hora del lugar en que estamos. Ejemplo:
echo "Tiempo Unix para el 1-Marzo-2000 a las 12h. 0m. 0s.
= " . mktime(12,0,0,3,1,2000);
Lo cual nos dará el siguiente resultado.
Tiempo Unix para el 1-Marzo-2000 a las 12h.
0m. 0s. = 951908400
gmmktime(hora,min,seg,mes,dia,ano);
Esta función al igual que la anterior devuelve la Marca de tiempo Unix para
una fecha concreta, pero la fecha es tomada como una hora GTM (hora
internacional), es decir no tiene en cuenta las diferencias horarias locales.
Ejemplo:
echo "Inicio del tiempo Unix. fecha 1-1-1970, 0h. 0m. 0s.
= " . gmmktime(0,0,0,1,1,1970);
Esto nos dará el siguiente resultado:
Inicio del tiempo Unix. fecha 1-1-1970, 0h.
0m. 0s. = 0
Formato de fechas
Una vez que tenemos una fecha en tiempo Unix, lo que nos interesa es poder
mostrarla en pantalla en distintos formatos, para ello utilizaremos la función date()
date("formato",Tiempo_Unix);
Esta función muestra en pantalla una fecha según el formato epecificado en
el primer argumento. El segundo argumento es la marca de tiempo Unix de la
fecha a mostrar, si se omite muestra la fecha actual.
Formato de fechas para date()
Como hemos dicho el primer argumento de la función es una cadena que indica
el formato que debe tener la fecha. Una serie de letras indican el tipo de
elemento a mostrar, (hora, día, mes, ...), entre ellas podemos poner comas,
puntos, guiones, espacio en blanco, etc. de la siguiente manera: echo date("d-m-Y");.
En este ejemplo nos dará la fecha actual (ya que no hay segundo argumento),
en la que se muestran, separados por guiones, el día (d), el mes en número con 2 dígitos (m), y el año con cuatro dígitos (Y) :
18-07-2016
Los distintos elementos que podemos poner para definir el formato de fecha
en el primer argumento son por los siguientes caracteres, que nos darán los
siguientes valores:
Elementos
del formato de fecha:
|
||
Caracter
|
Descripción
|
Valores
devueltos
|
Día
|
-------
|
-------
|
d
|
Día del mes. 2 dígitos, con 0 inicial
|
01 a 31
|
j
|
Día del mes sin 0 inicial
|
1 a 31
|
Semana
|
-------
|
-------
|
D
|
Dia de la semana abreviado (inglés, 3
letras)
|
Mon a Sun
|
l (ele minúscula)
|
Día de la semana completo (inglés)
|
Sunday a Saturday
|
N
|
Número del día del la semana
|
1 (lun) a 7 (dom)
|
w
|
Número del día del la semana
|
0 (dom) a 6 (sáb)
|
W
|
Semanas transcurridas del año
|
1 a 52 ó 53
|
Mes
|
-------
|
-------
|
m
|
Número de mes con 0 inicial
|
01 a 12
|
n
|
Número de mes sin 0 inicial
|
1 a 12
|
F
|
Mes (texto en inglés)
|
January a December
|
M
|
Mes abreviado. Tres letras (en inglés)
|
Jan a Dec
|
t
|
Días que tiene el mes.
|
28 a 31
|
año
|
-------
|
-------
|
Y
|
Año en 4 dígitos
|
Ej.: 1990 ó 2003
|
y
|
Año en 2 dígitos
|
Ej.: 90 ó 03
|
L
|
Indica si el año es bisiesto
|
1 (sí), 0 (no)
|
Hora, min, seg.
|
-------
|
-------
|
g
|
Hora de 1 a 12 con 0 inicial
|
00 a 12
|
h
|
Hora de 1 a 12 sin 0 inicial
|
1 a 12
|
G
|
Hora de 0 a 23 con 0 inicial
|
00 a 23
|
H
|
Hora de 0 a 23 sin 0 inicial
|
0 a 23
|
a
|
Ante meridiano o Post meridiano.
Minúsculas.
|
am ó pm
|
A
|
Ante meridiano o Post meridiano.
Mayúsculas.
|
AM ó PM
|
i
|
Minuto con 0 inicial
|
00 a 59
|
s
|
Segundo con 0 inicial
|
00 a 59
|
Fecha completa
|
-------
|
-------
|
c
|
Fecha en formato ISO 8601
|
Ej.: 2005-03-12T15:19:21+00:00
|
r
|
Fecha en formato RFC 2822
|
Ej: Thu, 21 Dec 2000 16:01:07 +0200
|
Otros
|
---
|
---
|
e
|
Identifica zona horaria
|
Ej.: Europe/Paris
|
I (i mayúscula)
|
Indica si estamos en horario de verano.
|
1 = sí, 0 = no
|
P
|
Diferencia con la hora GTM (Greenwich)
indica horas y minutos.
|
Ej: +02:00
|
Z
|
Diferencia con la zona horaria en
segundos.
|
-43200 a 43200
|
U
|
Tiempo Unix de la fecha dada
|
igual que en mktime()
|
Podemos hacer cualquier combinación de estos elementos para dar formato a la
fecha. Dentro del argumento "formato", los caracteres que no están en
esta lista serán impresos tal como son, si queremos imprimir algún caracter de
la lista sin que sea interpretado como tal, debemos ponerle delante la barra
invertida ej: \d imprimirá
"d" y no el día del mes como está en la lista. Veamos algunos
ejemplos con la fecha actual:
Código PHP
|
Resultado
|
echo date("l-j-F");
|
Monday-18-July
|
echo date("d-m-y");
|
18-07-16
|
echo "hora :".date("ga :i :s");
|
hora :9pm :19 :59
|
echo date("D-n-M-Y :H-i-s.P \G\M\T.");
|
Mon-7-Jul-2016
:21-19-59.+02:00 GMT.
|
Como puedes observar las posibles combinaciones para mostrar la fecha son
numerosas, sin embargo surge el problema de que tanto los días de la semana
como los meses aparecen en inglés. En el próximo apartado veremos cómo mostrar
la fecha en el idioma local.
Fecha en idioma local
setlocale(categoría,"localización");
En primer lugar usaremos la función setlocale()
para definir cual es la información que debe tratarse de forma local, y desde
qué región o país.
Esta función tiene dos argumentos, el primero categoría indica cual es el tipo de información que debe
tratarse de forma local , como aquí es la fecha el primer argumento será CL_TIME. En el segundo argumento pondremos
en forma de cadena (entre comillas), el código del país o región local. Si
ponemos una cadena vacía (""),
se interpreta que es la región o país del ordenador que ejecuta el código.
Escribimos la siguiente línea PHP:
setlocale(CL_Time,"");
Hay que tener en cuenta que esta función afecta también a otras páginas del
sitio, por lo que si la definimos en una página, todas las demás páginas del
sitio se verán afectadas de la misma manera.
strftime("formato",Marca_tiempo);
Esta función permite definir la fecha en el idioma local, por lo que una vez
definida la localización mediante la función anterior (setlocale()), nos dará la fecha en el
idioma local. el segundo argumento es opcional, y si no se pone dará la fecha
local actual. Lo pondremos para una fecha distinta, y pasaremos en él la marca
de tiempo Unix de la fecha que queramos formatear.
Al igual que en la función date()
el primer argumento marca el formato que queremos darle a la fecha, sólo que
aquí los elementos que podemos poner para visualizar la fecha son distintos que
en date(), los definimos en la
siguiente tabla:
Elementos
para formato de fecha local
|
||
Caracter
|
Descripción
|
Valores
devueltos
|
Día
|
--------
|
--------
|
%d
|
Día del mes con 0 inicial
|
01 a 31
|
%e
%#d en windows |
Día del mes sin 0 inicial.
|
1 a 31
|
Semana
|
--------
|
--------
|
%A
|
Día completo de la semana.
|
Lunes a domingo
|
%a
|
Dia abreviado de la semana
|
lun a dom
|
%w
|
Día de la semana en número.
|
0 (Domingo) a 6 (Lunes)
|
%U
|
Semana del año: la semana empieza en
domingo.
|
1 a 53
|
%W
|
Semana del año: la semana empieza en
lunes.
|
1 a 53
|
Mes
|
--------
|
--------
|
%B
|
Nombre completo del mes.
|
Enero a Diciembre
|
%b
|
Nombre abreviado del mes.
|
ene a dic
|
%m
|
Mes en número con 0 inicial.
|
01 a 12
|
Año
|
--------
|
--------
|
%C
|
Dos primeros dígitos del año
|
Ej.: 20 (para 2010)
|
%y
|
Dos últimos dígitos del año.
|
13 (para 2013)
|
%Y
|
Año completo con lo cuatro dígitos.
|
2010
|
Hora min. y seg.
|
--------
|
--------
|
%H
|
Hora en formato 00 a 23.
|
00 a 23
|
%k
|
Hora en formato 0 a 23. (un dígito para
menor de 10)
|
0 a 23
|
%I
|
Hora en formato 01 a 12.
|
01 a 12
|
%l ("L" minúscula)
|
Hora en formato 1 a 12.
|
1 a 12
|
%M
|
Minuto en formato 00 a 59.
|
00 a 59
|
%S
|
Segundo en formato 00 a 59.
|
00 a 59
|
Otros
|
--------
|
--------
|
%x
|
Fecha preferida, sin la hora.
|
ej: como "%d/%m/%Y"
|
%X
|
Hora preferida, sin la fecha.
|
ej: como "%H:%M:%S"
|
%c
|
Fecha y hora completa, preferida.
|
ej: "%d/%m/%Y H:%M:%S"
|
%Z
|
Zona horaria local.
|
Ej: Europe/Madrid.
|
Veamos un ejemplo de Fecha en formato local, lo primero que haremos será
configurar el tiempo como local mediante la función setlocale():
setlocale(LC_TIME,"");
Después definimos el formato de tiempo mediante la funcion strftime():
echo strftime("%A, %d de %B de %Y. Hora: %H-%M-%S.");
El código anterior dará el siguiente resultado:
lunes, 18 de julio de 2016. Hora: 21-19-59.
El idioma y la hora devueltas corresponden a la configuración de idioma y
hora locales del servidor de PHP, por lo que si hacemos la prueba en nuestro
ordenador (en localhost), nos dará el resultado en el idioma y hora que
tengamos configurado en el ordenador.
El probrema puede estar si al subir la página tenemos el servidor en otro
idioma u otro país, con lo cual nos dará el idioma y la hora de ese país.
Fecha en otros idiomas.
Para obtener la fecha en otros idiomas, tendremos que hacer la configuración
local en el otro idioma. para ello lo marcaremos en el segundo argumento de la
función setlocale():
setlocale(LC_TIME,"fra");
Ahora cuando formateemos la fecha con strftime(),
nos saldrá en francés:
echo strftime("%A, %d - %B - %Y.");
El resultado ahora será:
lundi, 18 - juillet - 2016.
La forma escribir el idioma no funciona igual en todos los sistemas, depende
de la configuración del servidor, en algunos debemos poner las 2 primeras
iniciales del idioma en inglés, en otros debemos poner el nombre completo del
idioma en inglés, cada servidor y cada sistema operativo lo indica de una
manera. podemos mirar códigos de diferentes países en la página ISO
639. La lista descrita en esta página no garantiza que el código que nos
dan funcione con nuestro servidor de PHP, aunque muchas veces es el correcto .
(podemos probar con el de dos letras, el de tres, o el nombre completo).
Podemos poner también una lista de opciones separadas por comas, o un array
con las opciones, se tomará la primera de ellas que sea reconocida:
setlocale(LC_TIME,"fra,fre,french,fr");
En este ejemplo hemos puesto una lista de los posibles nombres que puede
tener el servidor para el idioma francés. El código anterior deberá funcionar
en la gran mayoría de servidores.
Para el español probaremos con el siguiente código, el cual deberá funcionar
en la gran mayoría de servidores:
setlocale(LC_TIME,"esp,sp,spa,es,spanish");
Hora local
Otro problema puede ser que si el servidor está en otra zona horaria, nos
dará su hora, debemos en este caso cambiar la hora que nos da el servidor por
la hora local en nuestra zona horaria. para ello utilizaremos la función
date_default_timezone_set();
date_default_timezone_set("zona_horaria");
Como parámetro de la función pasaremos el nombre de la zona horaria en que
queremos ver la fecha. Esta afectará a todas las fechas posteriores que
escribamos a partir de esta función. Los nombres de las zonas horarias válidas
puedes verlos en : Listado
de Timezones soportados
Si queremos pasar la hora que nos da un servidor no español a la hora de
españa, escribiremos la siguiente línea:
date_default_timezone_set("Europe/Madrid");
A partir de aquí las fechas vendrán con el horario local de Madrid.
Fuente de Información: https://norfipc.com/web/como-mostrar-fecha-hora-paginas-web-javascript.html
Fuente de Información: https://norfipc.com/web/como-mostrar-fecha-hora-paginas-web-javascript.html
0 comentarios:
Publicar un comentario