mktime
(PHP 4, PHP 5, PHP 7, PHP 8)
mktime — Obtém um timestamp Unix de uma data
Descrição
int
$hour
,?int
$minute
= null
,?int
$second
= null
,?int
$month
= null
,?int
$day
= null
,?int
$year
= null
): int|false
Retorna o timestamp Unix correspondente aos argumentos informados. Este timestamp é um inteiro longo contendo o número de segundos entre a Era Unix (January 1 1970 00:00:00 GMT), e o tempo 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.
Parâmetros
hour
-
O número da hora relativa ao início de determinado dia do
month
,day
eyear
. 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). month
-
O 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).
day
-
O 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.
Valor Retornado
A função mktime() retorna o timestamp Unix dos argumentos
informados ou false
se o timestamp não couber em um inteiro do PHP.
Registro de Alterações
Versão | Descrição |
---|---|
8.0.0 |
O parâmetro hour não é mais opcional. Se for necessário um timestamp
Unix, use a função time().
|
8.0.0 |
minute , second , month ,
day e year agora podem ser nulos.
|
Exemplos
Example #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));
?>
Example #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));
?>
Example #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);
?>
Veja Também
- A classe DateTimeImmutable
- checkdate() - Valida uma data gregoriana
- gmmktime() - Obtém um timestamp Unix para uma data GMT
- date() - Formata um timestamp Unix
- time() - Retorna o timestamp Unix atual