microtime
strftime
Funções de Data/Hora
PHP Manual

# mktime

(PHP 4, PHP 5)

mktime — Obtém um timestamp Unix para uma data

### Descrição

int mktime ([ int `$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.

### Parâmetros

`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.

### Valor Retornado

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).

### Erros

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()

### Changelog

Versão | Descrição
--- | ---
3.0.10 | Adicionado o parâmetro`is_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 `E_STRICT` e `E_NOTICE` em erros da zona de horário.

### Exemplos

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);
?>`

### Notas

Cuidado

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.

### Veja Também

- gmmktime() - Obtém um timestamp Unix para uma data GMT
- date() - Formata a data e a hora local
- time() - Retorna o timestamp Unix atual

microtime
strftime
Funções de Data/Hora
PHP Manual