mktime

(PHP 3, PHP 4, PHP 5)

mktime -- Obtener la marca de tiempo Unix de una fecha

Descripción

int mktime ( [int hora [, int minuto [, int segundo [, int mes [, int dia [, int anyo [, int es_dst]]]]]]] )

Devuelve la marca de tiempo Unix que corresponde a los argumentos dados. Esta marca de tiempo es un entero largo que contiene el número de segundos entre el Epoch Unix (Enero 1 1970 00:00:00 GMT) y la hora especificada.

Es posible dejar sin definir argumentos en orden de derecha a izquierda; cualquier argumento omitido será definido con el valor actual de acuerdo a la fecha y hora local.

Lista de parámetros

hora

El número de la hora.

minuto

El número del minuto.

segundo

El número de segundos después del minuto.

mes

El número del mes.

dia

El número del día.

anyo

El número del año, puede ser un valor de dos o cuatro dígitos; los valores entre 0-69 se convierten a 2000-2069 y 70-100 a 1970-2000. En sistemas en donde time_t es un entero de 32bits con signo, como ocurre comúnmente hoy en día, el rango válido para anyo es un valor entre 1901 y 2038, aunque esta limitante no existe a partir de PHP 5.1.0.

es_dst

Este parámetro puede definirse a 1 si la hora está dentro del tiempo de ahorro de luz diurna (DST), 0 si no lo es, o -1 (el valor predeterminado) si se desconoce si la hora está dentro del tiempo de ahorro de luz diurna o no. Si se desconoce, PHP intenta averiguarlo por sí solo. Esto puede causar resultados inesperados (pero no incorrectos). Algunas veces son inválidos si DST está habilitado en el sistema en el que está corriendo PHP o el valor de es_dst es 1. Si DST está habilitado en p.ej. 2:00, todas las horas entre las 2:00 y las 3:00 son inválidas y mktime() devuelve un valor indefinido (por lo general negativo). Algunos sistemas (p.ej. Solaris 8) habilita DST a media noche así que la hora 0:30 del día cuando DST está habilitado se evalúa como 23:30 del día anterior.

Nota: A partir de PHP 5.1.0, este parámetro se ha hecho obsoleto. Como resultado, las nuevas características de manejo de zona horaria deberían usarse en su lugar.

Valores retornados

mktime() devuelve la marca de tiempo Unix de los argumentos dados. Si los argumentos son inválidos (p.ej. si el año, mes y día son todos 0), la función devuelve -1.

Registro de cambios

VersiónDescripción
3.0.10Se agregó el parámetro is_dst
5.1.0El parámetro es_dst se ha hecho obsoleto

Ejemplos

Ejemplo 1. Ejemplo de mktime()

mktime() es útil cuando se realiza aritmética y validaciones de fechas, ya que calcula automáticamente el valor correcto para entradas fuera de rango. Por ejemplo, cada una de las siguientes líneas produce la cadena "Jan-01-1998".

<?php
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));
echo
date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>

Ejemplo 2. El último día del mes siguiente

El último día de cualquier mes dado puede ser expresado como el día "0" del siguiente mes, no el día -1. Los dos ejemplos siguientes producirán la cadena "El último dia en Feb 2000 es: 29".

<?php
$ultimodia
= mktime(0, 0, 0, 3, 0, 2000);
echo
strftime("El ultimo dia en Feb 2000 es: %d", $ultimodia);
$ultimodia = mktime(0, 0, 0, 4, -31, 2000);
echo
strftime("El ultimo dia en Feb 2000 es: %d", $ultimodia);
?>

Notes

Atención

Las marcas de tiempo negativas no son soportadas bajo ninguna versión conocida de Windows. Por lo tanto el rango de años válidas incluye únicamente 1970 a 2038.

Ver también

gmmktime()
date()
time()

Hosting by: hurra.com
Generated: 2007-01-26 18:01:02