0Pricing
PHP Academy · Aula

Marcas de tempo Unix e date()

Obtenha a hora atual como uma marca de tempo Unix e formate-a com date().

Marcas de tempo Unix e date() é uma aula grátis de PHP Academy no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de PHP Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de PHP Academy inclui 4 aulas no total.

Tempo no PHP

O PHP representa o tempo como uma marca de tempo Unix — o número de segundos desde 1º de janeiro de 1970, 00:00:00 UTC (a época Unix). Funções principais:

  • time() — marca de tempo Unix atual
  • date($format, $timestamp) — formata uma marca de tempo
  • mktime() — cria uma marca de tempo a partir de componentes de data

time()

Obtenha a marca de tempo Unix atual:

<?php
$now = time();
echo $now;           // e.g. 1716800000
echo gettype($now);  // integer

// 1 day in seconds
$tomorrow = time() + 86400;
$yesterday = time() - 86400;

echo date('Y-m-d', $tomorrow);  // tomorrow's date

Caracteres de formatação de date()

Caracteres de formatação comuns para date():

  • Y — ano com 4 dígitos: 2024
  • m — mês com zero à esquerda: 01–12
  • d — dia com zero à esquerda: 01–31
  • H — hora no formato de 24 horas, com zero à esquerda
  • i — minutos com zero à esquerda
  • s — segundos
  • D — nome abreviado do dia: Seg
  • N — dia da semana no padrão ISO: 1=Seg, 7=Dom

Formatando datas

Use date() para formatar marcas de tempo:

<?php
$ts = time();

echo date('Y-m-d', $ts);           // 2024-05-27
echo date('d/m/Y', $ts);           // 27/05/2024
echo date('D, d M Y H:i:s', $ts);  // Mon, 27 May 2024 14:30:00
echo date('c', $ts);               // ISO 8601: 2024-05-27T14:30:00+00:00
echo date('U', $ts);               // Unix timestamp (same as time())

mktime()

Crie uma marca de tempo a partir de componentes específicos de data e hora:

<?php
// mktime(hour, min, sec, month, day, year)
$ts = mktime(0, 0, 0, 12, 25, 2024);  // Christmas 2024 midnight
echo date('Y-m-d', $ts);  // 2024-12-25

// Last day of month trick:
$lastDay = mktime(0, 0, 0, 3, 0, 2024);  // day 0 = last day of Feb
echo date('Y-m-d', $lastDay);  // 2024-02-29 (leap year)

strtotime()

strtotime() converte um texto de data legível por humanos em uma marca de tempo:

<?php
echo strtotime('2024-12-25');       // timestamp
echo strtotime('next Monday');      // next Monday's timestamp
echo strtotime('+1 week');          // 7 days from now
echo strtotime('last day of this month');  // end of month
echo strtotime('2024-01-01 +3 months');   // April 1, 2024

Aritmética de datas com strtotime

Calcule datas relativas usando as expressões relativas de strtotime:

<?php
$subscriptionStart = strtotime('2024-01-15');
$oneYearLater = strtotime('+1 year', $subscriptionStart);
$trialEnd = strtotime('+14 days');

echo date('Y-m-d', $oneYearLater);  // 2025-01-15
echo date('Y-m-d', $trialEnd);      // 14 days from today

// Days until event:
$event = strtotime('2024-12-31');
$daysLeft = (int) (($event - time()) / 86400);
echo "Days until NYE: $daysLeft";

Marcas de tempo e bancos de dados

Armazene as datas no banco de dados como textos ISO ou marcas de tempo Unix:

<?php
// Store as ISO string (recommended for readability):
$created_at = date('Y-m-d H:i:s');  // '2024-05-27 14:30:00'

// Store as Unix timestamp (fast integer comparison):
$created_ts = time();  // 1716800000

// Convert back:
$ts = strtotime($created_at);
$fmt = date('Y-m-d H:i:s', $created_ts);

date_create e date_format

Alternativas OO a date() e strtotime():

<?php
$dt = date_create('2024-05-27');
echo date_format($dt, 'D, d M Y');  // Mon, 27 May 2024

date_modify($dt, '+30 days');
echo date_format($dt, 'Y-m-d');  // 2024-06-26

// Equivalent OO:
$dt2 = new DateTime('2024-05-27');
$dt2->modify('+30 days');
echo $dt2->format('Y-m-d');

checkdate()

Valide se uma data é real com checkdate():

<?php
var_dump(checkdate(2, 29, 2024));  // true (leap year)
var_dump(checkdate(2, 29, 2023));  // false (not leap year)
var_dump(checkdate(13, 1, 2024));  // false (no month 13)
var_dump(checkdate(1, 31, 2024));  // true

Microtime para medição de desempenho

Use microtime(true) para medir o tempo de execução com precisão inferior a um segundo:

<?php
$start = microtime(true);

// Simulate work
for ($i = 0; $i < 100000; $i++) {}

$end = microtime(true);
$duration = ($end - $start) * 1000;  // milliseconds
echo sprintf('Took %.2f ms', $duration);

Verificação rápida

O que a função time() do PHP retorna?

Recapitulação: marcas de tempo Unix e date()

Pontos principais:

  • time() — marca de tempo Unix atual
  • date($format, $ts) — formata qualquer marca de tempo
  • mktime() — cria uma marca de tempo a partir de componentes de data
  • strtotime() — interpreta datas legíveis por humanos
  • Use o formato ISO 8601 para armazenar dados no banco de dados
  • microtime(true) para medição de tempo de alta resolução

Perguntas Frequentes

A aula “Marcas de tempo Unix e date()” é grátis?

Sim — o texto completo de “Marcas de tempo Unix e date()” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de PHP Academy, atualize para CoddyKit PRO. O curso de PHP Academy inclui 4 aulas no total.

O que vou aprender em “Marcas de tempo Unix e date()”?

Obtenha a hora atual como uma marca de tempo Unix e formate-a com date(). Você pratica PHP Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar PHP Academy?

Nenhuma experiência prévia é necessária. PHP Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Marcas de tempo Unix e date()”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de PHP Academy?

Sim. Cada aula de PHP Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Marcas de tempo Unix e date()
  2. A classe DateTime
  3. Aritmética de datas com DateInterval
  4. Fusos horários em PHP
← Voltar para PHP Academy