(PHP 4, PHP 5)
mktime — Obtém um timestamp Unix para uma data
$hora
[, int $minuto
[, int $second
[, int $mes
[, int $dia
[, int $ano
[, int $is_dst
]]]]]]] )Retorna o timestamp Unix correspondente para os argumentos dados. Este timestamp é um longo inteiro contendo o número de segundos entre a Era Unix (January 1 1970 00:00:00 GMT) e o tempo especificado.
Argumentos podem ser omitidos da direita para esquerda; quaisquer argumentos assim omitidos serão definidos para o valor atual de acordo com a data e a hora local.
hour
O número da hora.
minute
O número do minuto.
second
O número de segundos passados do minuto.
month
O número do mês.
day
O número do dia.
year
O número do ano. Pode conter dois ou quatro dígitos, com os valores
entre 0-69 significando 2000-2069 e 70-100 para 1970-2000. Em
sistemas aonde o time_t é um inteiro assinado de 32 bit, como é mais
comum, o alcance do ano
é algo entre 1901 e
2038. Entretanto, antes do PHP 5.1.0 esse range era limitado para 1970
até 2038 em alguns sistemas (ex. Windows).
is_dst
Este parâmetro pode ser definido para 1 se está durante o horário de verão
(DST), 0 se não está, ou -1 (o padrão) se é desconhecido se o tempo está
dentro do horário de verão ou não. Se é desconhecido, o PHP tenta
compreender por si mesmo. Isto pode causar inesperado (mas não incorreto)
resultados. As vezes é inválido se DST é habilitado no sistema em que o PHP
está executando ou is_dst
é definido para 1. Se DST
é habilitado em e.g. 2:00, todo tempo entre 2:00 e 3:00 são inválidos e
mktime() retorna um indefinido (normalmente negativo) valor.
Alguns sistemas (e.g. Solaris 8) habilita DST na meia-noite então tempo
0:30 do dia quando DST está habilitado é avaliado como 23:30 do dia anterior.
Nota:
No PHP 5.1.0, este parâmetro tornou-se obsoleto. Como resultado, o o novo recurso de manuseamento de timezone deve ser usado ao invés dele.
mktime() retorna o Unix timestamp dos argumentos dado.
Se os argumentos são inválidos, a função retorna FALSE
(antes do PHP 5.1
retornava -1).
Toda a chamada a uma função de data/hora irá gerar um
se a zona da hora não for valida, e/ou uma mensagem E_STRICT
ou E_WARNING
se estiver usando a definição do sistema ou a variável de ambiente TZ.
Veja também date_default_timezone_set()
Versão | Descrição |
---|---|
3.0.10 | Adicionado o parâmetrois_dst |
5.1.0 |
O parâmetro is_dst tornou-se obsoleto.
Fazendo a função retornar FALSE em erro, ao invés de -1.
Reparada a função para aceitar o ano, mês e dia para ser todos passados
como zero.
|
5.1.0 |
Agora emite |
Exemplo #1 Exemplo da mktime()
mktime() é útil durante a aritmética e validação de data, enquanto ela calculará automaticamente o valor correto para a entrada fora do intervalo. Por exemplo, cada uma das seguintes linhas produzirá a string "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));
?>
Exemplo #2 Último dia do próximo mês
O último dia de um mês dado pode ser expressado como o dia "0" do mês seguinte, não o dia -1. Os dois exemplos seguintes produzirão a string "The last day in Feb 2000 is: 29".
<?php
$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);
?>
Antes do PHP 5.1.0, timestamp negativos não eram suportados em nenhuma versão conhecida do Windows e em alguns outros sistemas também. Portanto o intervalo válido de anos foi limitado para 1970 até 2038.