(PHP 4, PHP 5, PHP 7, PHP 8)
mktime — Obtém um timestamp Unix de uma data
$hour,$minute = null,$second = null,$month = null,$day = null,$year = nullRetorna o timestamp Unix correspondente aos argumentos informados. Este timestamp é um inteiro longo contendo o número de segundos entre a Época Unix (January 1 1970 00:00:00 GMT), e o horário especificado.
   Quaisquer argumentos opcionais
   omitidos ou null serão definidos para os valores correntes de acordo
   com a data e horário locais.
  
    Favor notar que os argumentos estão em uma ordem não usual:
    month, day,
    year, e não na ordem mais razoável
    year, month,
    day.
   
Chamar mktime() sem argumentos não é suportado, e irá resultar em um ArgumentCountError. time() pode ser usada para obter o timestamp atual.
hour
       O número da hora relativa ao início de determinado dia do
       month, day e year.
       Valores negativos referenciam a hora anterior a meia noite do dia em questão.
       Valores maiores que 23 referenciam a hora correspondente no(s) próximo(s) dia(s).
      
minute
       O número de minutos relativos ao início da hour.
       Valores negativos referenciam minutos da hora anterior.
       Valores maiores que 23 referenciam os minutos correspondentes a(s) próxima(s) horas(s).
      
second
       O número de segundos relativos ao início do minute.
       Valores negativos referenciam segundos do minuto anterior.
       Valores maiores que 23 referenciam os segundos correspondentes ao(s) próximo(s) minuto(s).
      
monthO número do mês relativo ao fim do anterior. Valores de 1 a 12 referenciam o calendário normal de meses do ano em questão. Valores menores que 1 (valores negativos, inclusos) referenciam meses do ano anterior em ordem reversa, então 0 é Dezembro, -1 Novembro, e etc. Valores maiores que 12 referenciam meses correspondentes ao(s) próximo(s) ano(s).
dayO número do dia relativo ao final do mês anterior. Valores de 1 a 28, 29, 30 e 31 (dependendo do mês) corresponde a dias normais no mês. Valores menores que 1 (valores negativos, inclusos) corresponde a dias no mês anterior, então 0 é o último dia do mês anterior, -1 é o dia anterior a este, e etc. Valores maiores que o número de dias do mês, referenciam dias correspondentes ao(s) próximo(s) mês(es).
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 faixa de valores para year
       é algo entre 1901 e 2038.
      
   A função mktime() retorna o timestamp Unix dos argumentos
   informados ou false se o timestamp não couber em um inteiro do PHP.
  
| Versão | Descrição | 
|---|---|
| 8.0.0 | O parâmetro hournão é mais opcional. Se for necessário um timestamp
        Unix, use a função time(). | 
| 8.0.0 | minute,second,month,dayeyearagora podem ser nulos. | 
Exemplo #1 Exemplo básico da função mktime()
<?php
// Configura o fuso horário padrão a ser utilizado.
date_default_timezone_set('UTC');
// Imprime: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
// Imprime algo como: 2006-04-05T01:02:03+00:00
echo date('c', mktime(1, 2, 3, 4, 5, 2006));
?>
Exemplo #2 Exemplo da mktime()
mktime() é útil para a aritmética e validação de data, já que 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 #3 Último dia do próximo mês
O último dia de um mês informado 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 'Último dia em Fev-2000 é: ', date('d', $lastday);
$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo 'Último dia em Fev-2000 é: ', date('d', $lastday);
?>
