mktime

mktime -- obtiene el timestamp UNIX de una fecha

Descripción

int mktime ( int hour, int minute, int second, int month, int day, int year [, int is_dst])

Advertencia : Véase el extraño orden de los argumentos , que se diferencia del orden de argumentos en una llamada mktime( ) de UNIX y que no permite eliminar parámetros de derecha a izquierda (ver abajo ) . Es un error común mezclar estos valores en un script .

Devuelve el valor timestamp Unix correspondiente a los argumentos dados . El timestamp es un entero de tipo long que contiene el número de segundos entre el valor Unix Epoch ( 1 de enero de 1970 ) y la hora especificada .

Se pueden eliminar argumentos en orden de derecha a izquierda ; en los argumentos omitidos se toma el valor de la fecha y hora locales .

is_dst puede ponerse a 1 si la hora corresponde a horario de verano , 0 si no , o -1 ( valor por omisión ) si no se sabe .

Nota: is_dst se añadió en la versión 3.0.10.

mktime( ) es útil para realizar cálculos y validaciones con fechas , ya que calcula automáticamente el valor correcto para una entrada fuera de rango . Por ejemplo , cada una de las líneas siguientes produce la cadena " Jan-01-1998 " .

Ejemplo 1 . Ejemplo de mktime( )

 
echo

 
date(

 
"M-d-Y"

 
,

 
mktime(0,0,0,12,32,1997

 
)

 
)

 
;

 
echo

 
date

 
(

 
"M-d-Y"

 
,

 
mktime(0,0,0,13,1,1997

 
)

 
)

 
;

 
echo

 
date

 
(

 
"M-d-Y"

 
,

 
mktime(0,0,0,1,1,1998

 
)

 
)

 
;





El último día de cada mes se puede expresar como el día " 0 " del mes siguiente , no el día -1 . Los dos ejemplos siguientes producen la cadena " The last day in Feb 2000 is :

Ejemplo 2 . El último día del próximo mes

 
$lastday=mktime(

 
0,0,0,3,0,2000)

 
;

 
echo

 
strftime("Last

 
day

 
in

 
Feb

 
2000

 
is

 
:

 
%d",$lastday)

 
;

 
$lastday=mktime(0,0,0,4,-31,2000)

 
;

 
echo

 
strftime("Last

 
day

 
in

 
Feb

 
2000

 
is

 
:

 
%d",$lastday)

 
;





Ver también date( ) y time( ) .