mirror of
https://github.com/php/doc-fr.git
synced 2026-03-24 15:12:13 +01:00
- Fix plural agreements (fuseaux, secondes, contenues) - Fix missing negation, verb, accents on capitals - Fix code syntax error in mktime example - Fix "levé" → "lever" du soleil - Fix conjugations (réfèrent, fonctionneraient, peuvent)
334 lines
10 KiB
XML
334 lines
10 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 0cf48a5a4869bd8b42f84e7032076756cde6a474 Maintainer: Fan2Shrek Status: ready -->
|
|
<!-- Reviewed: yes -->
|
|
<refentry xml:id="dateperiod.construct" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<refnamediv>
|
|
<refname>DatePeriod::__construct</refname>
|
|
<refpurpose>Crée un nouvel objet <classname>DatePeriod</classname></refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<constructorsynopsis role="DatePeriod">
|
|
<modifier>public</modifier> <methodname>DatePeriod::__construct</methodname>
|
|
<methodparam><type>DateTimeInterface</type><parameter>start</parameter></methodparam>
|
|
<methodparam><type>DateInterval</type><parameter>interval</parameter></methodparam>
|
|
<methodparam><type>int</type><parameter>recurrences</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>options</parameter><initializer>0</initializer></methodparam>
|
|
</constructorsynopsis>
|
|
<constructorsynopsis role="DatePeriod">
|
|
<modifier>public</modifier> <methodname>DatePeriod::__construct</methodname>
|
|
<methodparam><type>DateTimeInterface</type><parameter>start</parameter></methodparam>
|
|
<methodparam><type>DateInterval</type><parameter>interval</parameter></methodparam>
|
|
<methodparam><type>DateTimeInterface</type><parameter>end</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>options</parameter><initializer>0</initializer></methodparam>
|
|
</constructorsynopsis>
|
|
<warning>
|
|
<simpara>
|
|
Les constructeurs suivants ont été rendus obsolètes :
|
|
</simpara>
|
|
<constructorsynopsis role="DatePeriod">
|
|
<modifier>public</modifier> <methodname>DatePeriod::__construct</methodname>
|
|
<methodparam><type>string</type><parameter>isostr</parameter></methodparam>
|
|
<methodparam choice="opt"><type>int</type><parameter>options</parameter><initializer>0</initializer></methodparam>
|
|
</constructorsynopsis>
|
|
<simpara>
|
|
À la place la méthode usine <methodname>DatePeriod::createFromISO8601String</methodname>
|
|
devrait être utilisée.
|
|
</simpara>
|
|
</warning>
|
|
<para>
|
|
Crée un nouvel objet <classname>DatePeriod</classname>.
|
|
</para>
|
|
<para>
|
|
Les objets <classname>DatePeriod</classname> peuvent être utilisés comme itérateur pour
|
|
générer un certain nombre d'objets <classname>DateTimeImmutable</classname> ou
|
|
<classname>DateTime</classname> à partir d'une <parameter>start</parameter>
|
|
date (date de début), un <parameter>interval</parameter>, et une <parameter>end</parameter>
|
|
date (date de fin) ou du nombre de <parameter>recurrences</parameter>.
|
|
</para>
|
|
<para>
|
|
La classe des objets renvoyés est équivalente à la classe ancêtre
|
|
<classname>DateTimeImmutable</classname> ou <classname>DateTime</classname>
|
|
fournis par l'objet <parameter>start</parameter>.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>start</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
La date de début de la période. Incluse par défaut dans le jeu
|
|
de résultats.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>interval</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
L'intervalle entre les récurrences de la période.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>recurrences</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Le nombre de récurrences. Doit être plus grand que <literal>0</literal>.
|
|
Le nombre de résultats renvoyés est supérieur d'une unité, car la date de
|
|
début est incluse dans le jeu de résultats par défaut.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>end</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
La date de fin de la période. Non incluse par défaut dans le jeu
|
|
de résultats.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>isostr</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Un sous-ensemble de la
|
|
<link xlink:href="&url.iso-8601.repeating_intervals;">
|
|
spécification ISO 8601 de la répétition de l'intervalle</link>.
|
|
</para>
|
|
<para>
|
|
Exemples de certaines fonctionnalités de spécification d'intervalle
|
|
ISO 8601 que PHP ne prend pas en charge :
|
|
</para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<simpara>
|
|
Les occurrences zéro (<literal>R0/</literal>)
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Décalages horaires autres que UTC (<literal>Z</literal>), tels que <literal>+02:00</literal>.
|
|
</simpara>
|
|
</listitem>
|
|
</orderedlist>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>options</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Un champ de bits qui peut être utilisé pour contrôler certains
|
|
comportements avec les dates de début et de fin.
|
|
</para>
|
|
<para>
|
|
Peut être configuré à <constant>DatePeriod::EXCLUDE_START_DATE</constant>
|
|
pour exclure la date de début du jeu de dates de récursion dans
|
|
la période.
|
|
</para>
|
|
<para>
|
|
Peut être configuré à <constant>DatePeriod::INCLUDE_END_DATE</constant>
|
|
pour inclure la date de fin du jeu de dates de récursion dans
|
|
la période.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="errors">
|
|
&reftitle.errors;
|
|
<para>
|
|
Lance une exception <classname>DateMalformedPeriodStringException</classname> lorsque le paramètre
|
|
<parameter>isostr</parameter> ne peut être analysé comme une période ISO 8601 valide.
|
|
Antérieur à PHP 8.3, ceci était une <exceptionname>Exception</exceptionname>.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="changelog">
|
|
&reftitle.changelog;
|
|
<para>
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>&Version;</entry>
|
|
<entry>&Description;</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>8.3.0</entry>
|
|
<entry>
|
|
Lance désormais une
|
|
<exceptionname>DateMalformedPeriodStringException</exceptionname>
|
|
au lieu de <exceptionname>Exception</exceptionname>.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>8.2.0</entry>
|
|
<entry>
|
|
La constante <constant>DatePeriod::INCLUDE_END_DATE</constant> a été ajoutée.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>7.2.19, 7.3.6, 7.4.0</entry>
|
|
<entry>
|
|
<parameter>recurrences</parameter> doit désormais être plus grand que <literal>0</literal>.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
<example>
|
|
<title>Exemple avec DatePeriod</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$start = new DateTime('2012-07-01');
|
|
$interval = new DateInterval('P7D');
|
|
$end = new DateTime('2012-07-31');
|
|
$recurrences = 4;
|
|
$iso = 'R4/2012-07-01T00:00:00Z/P7D';
|
|
|
|
// Toutes ces périodes sont équivalentes.
|
|
$period = new DatePeriod($start, $interval, $recurrences);
|
|
$period = new DatePeriod($start, $interval, $end);
|
|
$period = new DatePeriod($iso);
|
|
|
|
// En parcourant l'objet DatePeriod, toutes les
|
|
// dates de la récursion pour la période seront affichées.
|
|
foreach ($period as $date) {
|
|
echo $date->format('Y-m-d')."\n";
|
|
}
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
Deprecated: Calling DatePeriod::__construct(string $isostr, int $options = 0) is deprecated, use DatePeriod::createFromISO8601String() instead in script on line 11
|
|
2012-07-01
|
|
2012-07-08
|
|
2012-07-15
|
|
2012-07-22
|
|
2012-07-29
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
<example>
|
|
<title>Exemple avec DatePeriod et <constant>DatePeriod::EXCLUDE_START_DATE</constant></title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$start = new DateTime('2012-07-01');
|
|
$interval = new DateInterval('P7D');
|
|
$end = new DateTime('2012-07-31');
|
|
|
|
$period = new DatePeriod($start, $interval, $end,
|
|
DatePeriod::EXCLUDE_START_DATE);
|
|
|
|
// En parcourant l'objet DatePeriod,
|
|
// toutes les dates de récursion pour la période sont affichées.
|
|
// Notez que, dans ce cas, 2012-07-01 ne sera pas affiché.
|
|
foreach ($period as $date) {
|
|
echo $date->format('Y-m-d')."\n";
|
|
}
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
2012-07-08
|
|
2012-07-15
|
|
2012-07-22
|
|
2012-07-29
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>DatePeriod montrant tous les derniers jeudis du mois sur une année</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$begin = new DateTime('2021-12-31');
|
|
$end = new DateTime('2022-12-31 23:59:59');
|
|
|
|
$interval = DateInterval::createFromDateString('last thursday of next month');
|
|
$period = new DatePeriod($begin, $interval, $end, DatePeriod::EXCLUDE_START_DATE);
|
|
|
|
foreach ($period as $dt) {
|
|
echo $dt->format('l Y-m-d'), "\n";
|
|
}
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
Thursday 2022-01-27
|
|
Thursday 2022-02-24
|
|
Thursday 2022-03-31
|
|
Thursday 2022-04-28
|
|
Thursday 2022-05-26
|
|
Thursday 2022-06-30
|
|
Thursday 2022-07-28
|
|
Thursday 2022-08-25
|
|
Thursday 2022-09-29
|
|
Thursday 2022-10-27
|
|
Thursday 2022-11-24
|
|
Thursday 2022-12-29
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
<refsect1 role="notes">
|
|
&reftitle.notes;
|
|
<simpara>
|
|
Les nombres de répétitions non liés spécifiés dans la section 4.5
|
|
"Intervalle de temps récurrent" de la norme ISO 8601 ne sont pas
|
|
supportés, c'est-à-dire ni <literal>"R/..."</literal> comme
|
|
<parameter>isostr</parameter> ni &null; comme
|
|
<parameter>end</parameter> ne fonctionneraient.
|
|
</simpara>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|