<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.datetimeinterface.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'pt_BR',
  ),
  'this' => 
  array (
    0 => 'datetime.unserialize.php',
    1 => 'DateTime::__unserialize',
    2 => 'Desserializa um Datetime',
  ),
  'up' => 
  array (
    0 => 'class.datetimeinterface.php',
    1 => 'DateTimeInterface',
  ),
  'prev' => 
  array (
    0 => 'datetime.serialize.php',
    1 => 'DateTime::__serialize',
  ),
  'next' => 
  array (
    0 => 'datetime.wakeup.php',
    1 => 'DateTime::__wakeup',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'pt_BR',
    'path' => 'reference/datetime/datetimeinterface/unserialize.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="datetime.unserialize" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">DateTime::__unserialize</h1>
  <h1 class="refname">DateTimeImmutable::__unserialize</h1>
  <h1 class="refname">DateTimeInterface::__unserialize</h1>
  <p class="verinfo">(PHP 8 &gt;= 8.2.0)</p><p class="refpurpose"><span class="refname">DateTime::__unserialize</span> -- <span class="refname">DateTimeImmutable::__unserialize</span> -- <span class="refname">DateTimeInterface::__unserialize</span> &mdash; <span class="dc-title">Desserializa um Datetime</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-datetime.unserialize-description">
  <h3 class="title">Descrição</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><strong>DateTime::__unserialize</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$data</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

  <div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><strong>DateTimeImmutable::__unserialize</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$data</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

  <div class="methodsynopsis dc-description"><span class="modifier">public</span> <span class="modifier">function</span> <span class="methodname"><strong>DateTimeInterface::__unserialize</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.array.php" class="type array">array</a></span> <code class="parameter">$data</code></span>): <span class="type"><a href="language.types.void.php" class="type void">void</a></span></div>

  <p class="para rdfs-comment">
   O manipulador <a href="language.oop5.magic.php#object.unserialize" class="link">__unserialize()</a>.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-datetime.unserialize-parameters">
  <h3 class="title">Parâmetros</h3>
  <dl>
   
    <dt><code class="parameter">data</code></dt>
    <dd>
     <p class="para">
      O <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span> serializado.
     </p>
    </dd>
   
  </dl>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-datetime.unserialize-returnvalues">
  <h3 class="title">Valor Retornado</h3>
  <p class="simpara">
   Nenhum valor é retornado.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-datetime.unserialize-examples">
  <h3 class="title">Examples</h3>
  <div class="example" id="example-1">
   <p><strong>Exemplo #1 Exemplo de <span class="methodname"><strong>DateTime::__unserialize()</strong></span></strong></p>
   <div class="example-contents">
<div class="annotation-interactive phpcode"><pre><code style="color: #000000"><span style="color: #0000BB">&lt;?php

</span><span style="color: #007700">class </span><span style="color: #0000BB">CustomDateTimeImmutable </span><span style="color: #007700">extends </span><span style="color: #0000BB">DateTimeImmutable
</span><span style="color: #007700">{
    #[</span><span style="color: #0000BB">\Override</span><span style="color: #007700">]
    public function </span><span style="color: #0000BB">__unserialize</span><span style="color: #007700">(array </span><span style="color: #0000BB">$data</span><span style="color: #007700">): </span><span style="color: #0000BB">void
    </span><span style="color: #007700">{
        echo </span><span style="color: #DD0000">"Hora de `</span><span style="color: #007700">{</span><span style="color: #0000BB">$data</span><span style="color: #007700">[</span><span style="color: #DD0000">'to'</span><span style="color: #007700">]}</span><span style="color: #DD0000">`:\n\n"</span><span style="color: #007700">;

        </span><span style="color: #0000BB">parent</span><span style="color: #007700">::</span><span style="color: #0000BB">__construct</span><span style="color: #007700">(</span><span style="color: #0000BB">$data</span><span style="color: #007700">[</span><span style="color: #DD0000">'date'</span><span style="color: #007700">], new </span><span style="color: #0000BB">DateTimeZone</span><span style="color: #007700">(</span><span style="color: #0000BB">$data</span><span style="color: #007700">[</span><span style="color: #DD0000">'timezone'</span><span style="color: #007700">]));
    }
}

</span><span style="color: #0000BB">$serializedData </span><span style="color: #007700">= </span><span style="color: #DD0000">'O:23:"CustomDateTimeImmutable":4:{s:4:"date";s:25:"2025-03-27T00:00:00-03:00";s:9:"timestamp";i:1743033600;s:8:"timezone";s:17:"America/Sao_Paulo";s:2:"to";s:26:"tomar uma xícara de café";}'</span><span style="color: #007700">;

</span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">unserialize</span><span style="color: #007700">(</span><span style="color: #0000BB">$serializedData</span><span style="color: #007700">));</span></code></pre></div>
   </div>

   <div class="example-contents"><p>O exemplo acima produzirá:</p></div>
   <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">Hora de `tomar uma xícara de café`:

object(CustomDateTimeImmutable)#1 (3) {
  [&quot;date&quot;]=&gt;
  string(26) &quot;2025-03-27 00:00:00.000000&quot;
  [&quot;timezone_type&quot;]=&gt;
  int(1)
  [&quot;timezone&quot;]=&gt;
  string(6) &quot;-03:00&quot;
}</pre>
</div>
   </div>
  </div>
 </div>


 <div class="refsect1 notes" id="refsect1-datetime.unserialize-notes">
  <h3 class="title">Notas</h3>
  <div class="warning"><strong class="warning">Aviso</strong>
   <p class="simpara">
    Um <span class="exceptionname"><a href="class.error.php" class="exceptionname">Error</a></span> é lançado ao tentar
    desserializar um objeto <span class="classname"><a href="class.datetime.php" class="classname">DateTime</a></span> personalizado se
    <a href="language.oop5.magic.php#object.serialize" class="link">__serialize()</a> estiver definido, mas
    <a href="language.oop5.magic.php#object.unserialize" class="link">__unserialize()</a> estiver ausente.
   </p>
  </div>
 </div>


 <div class="refsect1 seealso" id="refsect1-datetime.unserialize-seealso">
  <h3 class="title">Veja também</h3>
  <ul class="simplelist">
   <li><span class="methodname"><a href="datetime.serialize.php" class="methodname" rel="rdfs-seeAlso">DateTime::__serialize()</a> - Serializa um DateTime</span></li>
  </ul>
 </div>

</div><?php manual_footer($setup); ?>