Interpreta qualquer descrição textual de data/horário em inglês para timestamp Unix

# strtotime

(PHP 4, PHP 5, PHP 7, PHP 8)

strtotime — Interpreta qualquer descrição textual de data/horário em inglês para timestamp Unix

### Descrição

function strtotime(string `$datetime`, ?int `$baseTimestamp` = `null`): int|false

A função espera que seja informada uma string contendo um formato de data em inglês US, e tentará interpretá-lo para um timestamp Unix (o número de segundos desde 1º de janeiro de 1970 00:00:00 GMT), relativo ao timestamp dado em `baseTimestamp`, ou o horário atual se `baseTimestamp` não for fornecido. A interpretação da string de data está definida em Formatos de Data e Horário, e tem várias considerações sutis. Rever os detalhes completos dessas definições é fortemente recomendado.

Aviso

O timestamp Unix que esta função retorna não contém informação sobre fuso horário. Para realizar cálculos com informação de data/horário, deve-se usar a classe com mais capacidade DateTimeImmutable.

Cada parâmetro desta função utiliza o fuso horário padrão, a não ser que um fuso horário seja especificado neste parâmetro. Tome cuidado para não utilizar fusos horários diferentes em cada um dos parâmetros a não ser que seja o pretendido. Veja a função date_default_timezone_get() para verificar as diversas formas de definir um fuso horário padrão.

### Parâmetros

`datetime`

  Uma string de data/hora. Os formatos válidos são explicados em Formatos de Data e Hora.

`baseTimestamp`

  O timestamp que será utilizado como base no cálculo das datas relativas.

### Valor Retornado

Retorna um timestamp em sucesso, `false` caso contrário.

### Erros/Exceções

Toda chamada a uma função de data/hora gerará um `E_WARNING` se o fuso horário não for válido. Veja também date_default_timezone_set()

### Registro de Alterações

Versão | Descrição
--- | ---
8.0.0 | `baseTimestamp` agora pode ser nulo.

### Exemplos

Exemplo #1 Exemplo da função strtotime()

    <?php
    echo strtotime("now"), "\n";
    echo strtotime("10 September 2000"), "\n";
    echo strtotime("+1 day"), "\n";
    echo strtotime("+1 week"), "\n";
    echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
    echo strtotime("next Thursday"), "\n";
    echo strtotime("last Monday"), "\n";

Exemplo #2 Verificando erros

    <?php
    $str = 'Not Good';

    if (($timestamp = strtotime($str)) === false) {
        echo "A string ($str) tem problemas";
    } else {
        echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp);
    }

### Notas

> Nota:

> Data "relativa" neste caso também significa que se um componente em particular do timestamp de data/horário não for fornecido, ele será removido literalmente do parâmetro `baseTimestamp`. Isto é, `strtotime('February')`, se executado em 31 de maio de 2022, será interpretado como `31 de fevereiro de 2022`, o que vai transferir para um timestamp de `3 de março` (em um ano bissexto, seria `2 de março`). Usar `strtotime('1 February')` ou `strtotime('first day of February')` evitaria este problema.

> Nota:

> Se o número do ano for especificado no formato com dois dígitos, o valor entre 00-60 será mapeado para 2000-2069 e 70-99 para 1970-1999. Veja as notas a seguir para possíveis diferenças em sistemas de 32 bits (as datas possíveis acabam em 2038-01-19 03:14:07),

> Nota:

> O intervalo válido de um timestamp é tipicamente de Sex, 13 Dez 1901 20:45:54 GMT até Ter, 19 Jan 2038 03:14:07 GMT. Estas são datas que correspondem aos valores máximos e mínimos para um inteiro sem sinal em sistemas de 32 bits.

> Em versões do PHP em 64 bits, a faixa válida de um timestamp é praticamente infinita, já que 64 bits podem representar aproximadamente 293 bilhões de anos em ambas direções.

> Nota:

> O uso desta função para operações matemáticas não é recomendado. É melhor utilizar os métodos DateTime::add() e DateTime::sub().

### Veja Também

- DateTimeImmutable
- DateTimeImmutable::createFromFormat() - Interpreta um string de data/horário de acordo com o formato especificado
- Formatos de Data e Horário
- checkdate() - Valida uma data gregoriana
- strptime() - Interpreta uma data/horário gerada pela função strftime

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open