<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/class.dateinterval.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'dateinterval.construct.php',
    1 => 'DateInterval::__construct',
    2 => 'Cr&eacute;e un nouvel objet DateInterval',
  ),
  'up' => 
  array (
    0 => 'class.dateinterval.php',
    1 => 'DateInterval',
  ),
  'prev' => 
  array (
    0 => 'class.dateinterval.php',
    1 => 'DateInterval',
  ),
  'next' => 
  array (
    0 => 'dateinterval.createfromdatestring.php',
    1 => 'DateInterval::createFromDateString',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/datetime/dateinterval/construct.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="dateinterval.construct" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">DateInterval::__construct</h1>
  <p class="verinfo">(PHP 5 &gt;= 5.3.0, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">DateInterval::__construct</span> &mdash; <span class="dc-title">Crée un nouvel objet DateInterval</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-dateinterval.construct-description">
  <h3 class="title">Description</h3>
  <div class="constructorsynopsis dc-description">
   <span class="modifier">public</span> <span class="methodname"><strong>DateInterval::__construct</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$duration</code></span>)</div>

  <p class="para rdfs-comment">
   Crée un nouvel objet DateInterval.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-dateinterval.construct-parameters">
  <h3 class="title">Liste de paramètres</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">duration</code></dt>
     <dd>
      <p class="para">
       Une spécification d&#039;intervalle.
      </p>
      <p class="para">
       Le format commence avec la lettre <code class="literal">P</code>,
       pour <q class="quote">period</q>.
       Chaque durée de la période est représentée par une
       valeur entière suivie par une désignation de période.
       Si la durée contient des éléments de temps, cette portion
       de la spécification est précédée par la lettre
       <code class="literal">T</code>.
      </p>
      <p class="para">
       <table class="doctable table">
        <caption><strong>
         Désignation de période <code class="parameter">duration</code>
        </strong></caption>
        
         <thead>
          <tr>
           <th>Désignation de période</th>
           <th>Description</th>
          </tr>

         </thead>

         <tbody class="tbody">
          <tr>
           <td><code class="literal">Y</code></td>
           <td>Années</td>
          </tr>

          <tr>
           <td><code class="literal">M</code></td>
           <td>Mois</td>
          </tr>

          <tr>
           <td><code class="literal">D</code></td>
           <td>Jours</td>
          </tr>

          <tr>
           <td><code class="literal">W</code></td>
           <td>
            Semaine. Convertie en jours.
            Antérieur à PHP 8.0.0, ne peut pas être combiné avec
            <code class="literal">D</code>.
           </td>
          </tr>

          <tr>
           <td><code class="literal">H</code></td>
           <td>Heures</td>
          </tr>

          <tr>
           <td><code class="literal">M</code></td>
           <td>Minutes</td>
          </tr>

          <tr>
           <td><code class="literal">S</code></td>
           <td>Secondes</td>
          </tr>

         </tbody>
        
       </table>

      </p>
      <p class="para">
       Voici quelques exemples simples :
       2 jours sera <code class="literal">P2D</code> ;
       2 secondes sera <code class="literal">PT2S</code> ;
       6 années et 5 minutes sera <code class="literal">P6YT5M</code>.
      </p>
      <blockquote class="note"><p><strong class="note">Note</strong>: 
       <p class="para">
        Les types d&#039;unité doivent être entrés des plus
        grands aux plus petits. Ainsi, les années doivent
        être présentes avant les mois, les mois avant les jours,
        les jours avant les minutes, etc.
        Aussi, une année et 4 jours doit être représenté comme
        <code class="literal">P1Y4D</code>, et non <code class="literal">P4D1Y</code>.
       </p>
      </p></blockquote>
      <p class="para">
       Cette spécification peut également être représentée sous
       la forme d&#039;une durée. Aussi, une année et 4 jours peut
       être <code class="literal">P0001-00-04T00:00:00</code>.
       Mais les valeurs de ce format ne peuvent pas excéder
       une période donnée (c.-à-d. <code class="literal">25</code> heures est invalide).
      </p>
      <p class="para">
       Ces formats sont basés sur la <a href="http://en.wikipedia.org/wiki/Iso8601#Durations" class="link external">&raquo;&nbsp;spécification de durée
       ISO 8601</a>.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-dateinterval.construct-errors">
  <h3 class="title">Erreurs / Exceptions</h3>
  <p class="para">
   Lance une exception <span class="classname"><a href="class.datemalformedintervalstringexception.php" class="classname">DateMalformedIntervalStringException</a></span> lorsque le paramètre
   <code class="parameter">duration</code> ne peut être analysé comme un intervalle.
   Antérieur à PHP 8.3, ceci était une <span class="exceptionname"><a href="class.exception.php" class="exceptionname">Exception</a></span>.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-dateinterval.construct-changelog">
  <h3 class="title">Historique</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Version</th>
      <th>Description</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.3.0</td>
      <td>
       Lance désormais une
       <span class="exceptionname"><a href="class.datemalformedintervalstringexception.php" class="exceptionname">DateMalformedIntervalStringException</a></span>
       au lieu de <span class="exceptionname"><a href="class.exception.php" class="exceptionname">Exception</a></span>.
      </td>
     </tr>

     <tr>
      <td>8.2.0</td>
      <td>
       Seules les propriétés <code class="literal">y</code> à <code class="literal">f</code>,
       <code class="literal">invert</code>, et <code class="literal">days</code> seront visibles,
       y compris une nouvelle propriété booléenne <code class="literal">from_string</code>.
      </td>
     </tr>

     <tr>
      <td>8.0.0</td>
      <td>
       <code class="literal">W</code> peut être combiné avec <code class="literal">D</code>.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-dateinterval.construct-examples">
  <h3 class="title">Exemples</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Exemple #1 Construction et utilisation des objets <span class="classname"><a href="class.dateinterval.php" class="classname">DateInterval</a></span></strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #FF8000">// Créer une date spécifique<br /></span><span style="color: #0000BB">$someDate </span><span style="color: #007700">= </span><span style="color: #0000BB">\DateTime</span><span style="color: #007700">::</span><span style="color: #0000BB">createFromFormat</span><span style="color: #007700">(</span><span style="color: #DD0000">"Y-m-d H:i"</span><span style="color: #007700">, </span><span style="color: #DD0000">"2022-08-25 14:18"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Créer un intervalle<br /></span><span style="color: #0000BB">$interval </span><span style="color: #007700">= new </span><span style="color: #0000BB">\DateInterval</span><span style="color: #007700">(</span><span style="color: #DD0000">"P7D"</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Ajouter un intervalle<br /></span><span style="color: #0000BB">$someDate</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">add</span><span style="color: #007700">(</span><span style="color: #0000BB">$interval</span><span style="color: #007700">);<br /><br /></span><span style="color: #FF8000">// Convertir l'intervalle en chaîne de caractères<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">$interval</span><span style="color: #007700">-&gt;</span><span style="color: #0000BB">format</span><span style="color: #007700">(</span><span style="color: #DD0000">"%d"</span><span style="color: #007700">);</span></span></code></div>
    </div>

    <div class="example-contents"><p>L&#039;exemple ci-dessus va afficher :</p></div>
    <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">7</pre>
</div>
    </div>
   </div>
  </p>
  <p class="para">
   <div class="example" id="example-2">
    <p><strong>Exemple #2 Exemple avec <span class="classname"><a href="class.dateinterval.php" class="classname">DateInterval</a></span></strong></p>
    <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br />$interval </span><span style="color: #007700">= new </span><span style="color: #0000BB">DateInterval</span><span style="color: #007700">(</span><span style="color: #DD0000">'P1W2D'</span><span style="color: #007700">);<br /></span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">$interval</span><span style="color: #007700">);</span></span></code></div>
    </div>

    <div class="example-contents"><p>Résultat de l&#039;exemple ci-dessus en PHP 8.2 :</p></div>
    <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">object(DateInterval)#1 (10) {
  [&quot;y&quot;]=&gt;
  int(0)
  [&quot;m&quot;]=&gt;
  int(0)
  [&quot;d&quot;]=&gt;
  int(9)
  [&quot;h&quot;]=&gt;
  int(0)
  [&quot;i&quot;]=&gt;
  int(0)
  [&quot;s&quot;]=&gt;
  int(0)
  [&quot;f&quot;]=&gt;
  float(0)
  [&quot;invert&quot;]=&gt;
  int(0)
  [&quot;days&quot;]=&gt;
  bool(false)
  [&quot;from_string&quot;]=&gt;
  bool(false)
}</pre>
</div>
    </div>
    <div class="example-contents"><p>Résultat de l&#039;exemple ci-dessus en PHP 8 :</p></div>
    <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">object(DateInterval)#1 (16) {
  [&quot;y&quot;]=&gt;
  int(0)
  [&quot;m&quot;]=&gt;
  int(0)
  [&quot;d&quot;]=&gt;
  int(9)
  [&quot;h&quot;]=&gt;
  int(0)
  [&quot;i&quot;]=&gt;
  int(0)
  [&quot;s&quot;]=&gt;
  int(0)
  [&quot;f&quot;]=&gt;
  float(0)
  [&quot;weekday&quot;]=&gt;
  int(0)
  [&quot;weekday_behavior&quot;]=&gt;
  int(0)
  [&quot;first_last_day_of&quot;]=&gt;
  int(0)
  [&quot;invert&quot;]=&gt;
  int(0)
  [&quot;days&quot;]=&gt;
  bool(false)
  [&quot;special_type&quot;]=&gt;
  int(0)
  [&quot;special_amount&quot;]=&gt;
  int(0)
  [&quot;have_weekday_relative&quot;]=&gt;
  int(0)
  [&quot;have_special_relative&quot;]=&gt;
  int(0)
}</pre>
</div>
    </div>
    <div class="example-contents"><p>Résultat de l&#039;exemple ci-dessus en PHP 7 :</p></div>
    <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">object(DateInterval)#1 (16) {
  [&quot;y&quot;]=&gt;
  int(0)
  [&quot;m&quot;]=&gt;
  int(0)
  [&quot;d&quot;]=&gt;
  int(2)
  [&quot;h&quot;]=&gt;
  int(0)
  [&quot;i&quot;]=&gt;
  int(0)
  [&quot;s&quot;]=&gt;
  int(0)
  [&quot;f&quot;]=&gt;
  float(0)
  [&quot;weekday&quot;]=&gt;
  int(0)
  [&quot;weekday_behavior&quot;]=&gt;
  int(0)
  [&quot;first_last_day_of&quot;]=&gt;
  int(0)
  [&quot;invert&quot;]=&gt;
  int(0)
  [&quot;days&quot;]=&gt;
  bool(false)
  [&quot;special_type&quot;]=&gt;
  int(0)
  [&quot;special_amount&quot;]=&gt;
  int(0)
  [&quot;have_weekday_relative&quot;]=&gt;
  int(0)
  [&quot;have_special_relative&quot;]=&gt;
  int(0)
}</pre>
</div>
    </div>
   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-dateinterval.construct-seealso">
  <h3 class="title">Voir aussi</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="dateinterval.format.php" class="function" rel="rdfs-seeAlso">DateInterval::format()</a> - Formate l'intervalle</span></li>
    <li><span class="function"><a href="datetime.add.php" class="function" rel="rdfs-seeAlso">DateTime::add()</a> - Modifie un objet DateTime, avec le nombre de jours, mois, ann&eacute;es, heures, minutes et secondes ajout&eacute;</span></li>
    <li><span class="function"><a href="datetime.sub.php" class="function" rel="rdfs-seeAlso">DateTime::sub()</a> - Soustrait une dur&eacute;e &agrave; un objet DateTime</span></li>
    <li><span class="function"><a href="datetime.diff.php" class="function" rel="rdfs-seeAlso">DateTime::diff()</a> - Retourne la diff&eacute;rence entre deux objets DateTime</span></li>
   </ul>
  </p>
 </div>


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