DateTimeImmutable::__construct
date_create_immutable
Retorna um novo objeto DateTimeImmutable
&reftitle.description;
&style.oop;
public DateTimeImmutable::__construct
stringdatetime"now"
DateTimeZonenulltimezone&null;
&style.procedural;
DateTimeImmutablefalsedate_create_immutable
stringdatetime"now"
DateTimeZonenulltimezone&null;
Retorna um novo objeto DateTimeImmutable.
&reftitle.parameters;
datetime
&date.formats.parameter;
Utilize "now" para obter o horário atual quando usar
o parâmetro$timezone.
timezone
Um objeto DateTimeZone representando o
fuso horário do parâmetro $datetime.
Se $timezone for &null; ou omitido,
o fuso horário atual será utilizado.
O parâmetro $timezone
e o fuso horário atual são ignorados quando o
parâmetro $datetime for
um timestamp UNIX (ex.: @946684800)
ou especificar um fuso horário
(ex.: 2010-01-28T15:00:00+02:00 ou
2010-07-05T06:00:00Z).
&reftitle.returnvalues;
Retorna uma nova instância de DateTimeImmutable.
&reftitle.errors;
Se um string inválido de data/horário for passado,
uma exceção DateMalformedStringException é disparada.
Antes do PHP 8.3, era Exception.
&reftitle.changelog;
&Version;
&Description;
8.3.0
Agora dispara
DateMalformedStringException se uma
string inválida for passada, em vez de
Exception.
7.1.0
De agora em diante os microssegundos são preenchidos com o valor real. Não mais com '00000'.
&reftitle.examples;
Exemplo da função DateTimeImmutable::__construct
&style.oop;
getMessage();
exit(1);
}
echo $date->format('Y-m-d');
]]>
&example.outputs;
&style.procedural;
&example.outputs;
Complexidades de DateTimeImmutable::__construct
format('Y-m-d H:i:sP') . "\n";
// Data/horário especificados no fuso horário informado.
$date = new DateTimeImmutable('2000-01-01', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
// Data/horário atual no fuso horário padrão do PHP.
$date = new DateTimeImmutable();
echo $date->format('Y-m-d H:i:sP') . "\n";
// Data/horário atual no fuso horário informado.
$date = new DateTimeImmutable('now', new DateTimeZone('Pacific/Nauru'));
echo $date->format('Y-m-d H:i:sP') . "\n";
// Usando um timestamp UNIX. Note que o resultado é no fuso horário UTC.
$date = new DateTimeImmutable('@946684800');
echo $date->format('Y-m-d H:i:sP') . "\n";
// Valores não existentes são transferidos.
$date = new DateTimeImmutable('2000-02-30');
echo $date->format('Y-m-d H:i:sP') . "\n";
]]>
&example.outputs.similar;
Datas transferidas podem ser detectadas através da verificação de avisos usando
DateTimeImmutable::getLastErrors.
Mudando o fuso horário associado
setTimezone($timeZone);
echo $time->format('Y/m/d H:i:s e'), "\n";
]]>
&example.outputs.similar;
Usando uma string relativo de data/horário
format('Y/m/d H:i:s'), "\n";
]]>
&example.outputs.similar;