miércoles, 6 de agosto de 2014

Las fechas en PHP - 1 de 2



En esta parte tratamos todas las funciones PHP que permiten manipular las fechas. Normalmente las fechas se recuperan en un formato con un idioma concreto, y esto le obliga a convertirlas a su idioma.
  • La función time() devuelve la hora actual, que se mide en segundos desde el inicio de UNIX (1 de Enero de 1970 00:00:00 GMT). Esta hora también se llama timestamp UNIX.

Por ejemplo:

<?php
echo time();
?>

Da como resultado:

1381329777

Por tanto, su sintaxis es:

time()

Esta función se utiliza sobre todo para realizar cálculos con fechas, por ejemplo para encontrar la duración de procesamiento en la base de datos.

  • La función date() devuelve la fecha en el formato que se ha pasado como argumento.

Por ejemplo:

<?php
echo date(’d.m.y’);
?>

Da como resultado:

09.10.13

Por tanto, su sintaxis es:

$fecha_del_dia = fecha($formato)

siendo $formato una cadena que contiene las letras que permiten definir el formato.

A continuación mostramos una lista con los principales formatos que se utilizan en la función date. Esta lista no es exhaustiva y puede encontrar más información en el siguiente enlace: http://www.php.net/manual/es/function.date.php

Día

J
Día del mes con dos dígitos sin ningún cero inicial: de 1 a 31.

d
Día del mes con dos dígitos con un cero inicial en la función del día: de 01 a 31.

l
(L minúscula) Día de la semana en inglés: de Sunday a Saturday.

w
Día de la semana con un formato numérico de 0 (domingo) a 6 (sábado).

z
Día del año: de 0 a 366.


Semana

W
Número de la semana en el año (las semanas empiezan el lunes). Ejemplo: 42 (la 42.ª semana del año).


Mes

F
Mes, textual, versión amplia en inglés, como por ejemplo January o December.

m
Mes en formato numérico, con ceros iniciales: de 01 a 12.

n
Mes sin ceros iniciales: de 1 a 12.

t
Número de días en el mes: de 28 a 31.


Año

L
Año bisiesto: 1 si es bisiesto, 0 si no lo es.

Y
Año con cuatro dígitos (por ejemplo, 1999 y 2003).

y
Año con dos dígitos (por ejemplo, 99 y 03).


Hora

a
Ante merídiem y Post merídiem (minúsculas): am o pm.

A
Ante merídiem y Post merídiem (mayúsculas): AM o PM.

g
Hora (formato 12 h) sin ceros iniciales: de 1 a 12.

G
Hora (formato 24 h) sin los ceros iniciales: de 0 a 23.

h
Hora (formato 12 h) con ceros iniciales: de 01 a 12.

H
Hora (formato 24 h) con ceros iniciales: de 00 a 23.

s
Segundos con ceros iniciales: de 00 a 59.

i
Minutos con ceros iniciales: de 00 a 59.

Esta función date() puede tomar también como parámetro opcional el timestamp UNIX para definir otra fecha distinta a la fecha del día que quiere mostrar.

Por ejemplo:

<?php
$ProximaSemana = time() + (7 * 24 * 60 * 60);// Añadir una semana a
//la hora actual. O 7 días = 7x24 horas = 7x24x60 minutos =
//7x24x60x60 segundos
echo "Hoy: ".fecha(’d-m-Y’).", ";
echo "Próxima semana: ".fecha(’d-m-Y’, $Proximasemana)."\n";
?>

Da como resultado:

Hoy: 01-02-2013, Próxima semana: 08-02-2013

  • La función mktime() devuelve el timestamp UNIX desde una fecha que se pasa como parámetro.

Por ejemplo:

<?php
echo mktime(0,0,0,2,1,2012); //muestra el timestamp de 01/02/2012
?>

Da como resultado:

1328050800

Su sintaxis es:

$timestamp = mktime($hora,$minuto,$segundo,$mes,$día,$año)

Esta función corrige los datos no válidos automáticamente. Por ejemplo, 32 de Enero se corregirá como 1 de Febrero.

  • La función microtime() devuelve el timestamp UNIX en microsegundos. Como parámetro opcional utiliza un booleano, que permite devolver un número real si es verdadero, o una cadena de caracteres si no lo es.

Por ejemplo:

<?php
// Muestra en forma de cadena.
echo microtime(). ’<br />’;
// Muestra en forma de real.
echo microtime(TRUE). ’<br />’;
// Para mostrar los microsegundos únicamente,transformación (cast)
// de la cadena en modo real.
echo (float) microtime() .’<br />’;
?>

Da como resultado:

0.31211200 1328104356
1328104356.3121
0.3121

Por tanto, su sintaxis es:

$microsegundo = microtime($bool)

  • La función getdate() devuelve una tabla asociativa de la fecha y la hora actuales.

Por ejemplo:

<?php
print_r(getdate());
?>

Da como resultado:

Array ( [seconds] => 37 [minutes] => 48 [hours] => 10 [mday] => 15 [wday] => 3 [mon] => 6 [year] => 2011 [yday] => 165 [weekday] => Wednesday [month] => June [0] => 1308127717 )

Por tanto, su sintaxis es:

$tabla = getdate()

  • La función checkdate() indica si una fecha es válida o no. Esta función tiene en cuenta los años bisiestos. Toma como parámetros el mes, el día y el año, y devuelve verdadero o falso.

Por ejemplo:

<?php
$valido = checkdate(13, 10, 2011);
if($valido == true )
{
echo ’La fecha es válida’;
}
else
{
echo ’La fecha no es válida’;
}
?>

Da como resultado:

La fecha no es válida

De hecho, no existe el decimotercer mes.

Por tanto, su sintaxis es:

$valido = checkdate($mes,$día,$año)




Espero haber ayudado en algo. Hasta la próxima oportunidad!







No hay comentarios:

Publicar un comentario en la entrada