Files
doc-fr/reference/datetime/functions/strtotime.xml
Sergey Panteleev b277281519 Sync various sections (#243)
Co-authored-by: George Peter Banyard <girgias@php.net>
2022-06-12 21:45:06 +01:00

223 lines
7.0 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: f5bd78b3c2c48b8702bc1547a08a9ad592047c1c Maintainer: yannick Status: ready -->
<!-- Reviewed: no Maintainer: yannick -->
<refentry xml:id="function.strtotime" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>strtotime</refname>
<refpurpose>Transforme un texte anglais en timestamp</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>int</type><type>false</type></type><methodname>strtotime</methodname>
<methodparam><type>string</type><parameter>datetime</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>baseTimestamp</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<simpara>
La fonction <function>strtotime</function> essaye de lire une
date au format anglais fournie par le paramètre <parameter>time</parameter>,
et de la transformer en timestamp Unix (le nombre de secondes depuis
le 1er Janvier 1970 à 00:00:00 UTC), relativement au timestamp
<parameter>baseTimestamp</parameter>, ou à la date courante si ce dernier
est omis.
</simpara>
<warning>
<para>
L'horodatage Unix que cette fonction retourne ne contient pas d'information
à propos des fuseaux horaires. Pour faire des calculs avec les informations
de date/moment, vous devriez utiliser
<classname>DateTimeImmutable</classname> qui est plus capable.
</para>
</warning>
<para>
Chaque paramètre de la fonction utilise le décalage horaire par défaut
à moins qu'un décalage horaire y soit explicitement paramétré.
Soyez vigilant à ne pas utiliser un décalage horaire différent pour
chaque paramètre à moins que ce soit ce dont vous avez besoin.
Reportez-vous à la fonction <function>date_default_timezone_get</function>
afin de savoir comment définir un décalage horaire par défaut.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>datetime</parameter></term>
<listitem>
<para>&date.formats.parameter;</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>baseTimestamp</parameter></term>
<listitem>
<para>
Le timestamp, représentant la date courante, utilisé pour le calcul
relatif des dates.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Retourne un timestamp en cas de succès, &false; sinon.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
&date.timezone.errors.description;
</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.0.0</entry>
<entry>
<parameter>baseTimestamp</parameter> est désormais nullable.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple avec <function>strtotime</function></title>
<programlisting role="php">
<![CDATA[
<?php
echo strtotime("now"), "\n";
echo strtotime("10 September 2000"), "\n";
echo strtotime("+1 day"), "\n";
echo strtotime("+1 week"), "\n";
echo strtotime("+1 week 2 days 4 hours 2 seconds"), "\n";
echo strtotime("next Thursday"), "\n";
echo strtotime("last Monday"), "\n";
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Vérification d'erreur</title>
<programlisting role="php">
<![CDATA[
<?php
$str = 'Pas bon';
if (($timestamp = strtotime($str)) === false) {
echo "La chaîne ($str) est boguée";
} else {
echo "$str == " . date('l dS \o\f F Y h:i:s A', $timestamp);
}
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Si le chiffre des années est précisé sur deux chiffres, les valeurs entre
00-69 correspondent à 2000-2069 et 70-99 à 1970-1999. Voyez les notes après
concernant les différences possibles entres systèmes 32-bit (des dates peuvent
échouer après le 19/01/2038 à 03:14:07).
</para>
</note>
<note>
<para>
L'intervalle de validité d'un timestamp va du
Vendredi 13 Décembre 1901 20:45:54 UTC au Mardi 19 Janvier 2038 03:14:07 UTC.
(Cela correspond aux dates maximales et minimales pour un
entier de 32 bits signé).
</para>
<para>
Pour les versions 64-bit de PHP, l'intervalle valide d'un timestamp
est réellement infini, sachant que 64 bits peut représenter approximativement
293 milliards d'années dans n'importe quelle direction.
</para>
</note>
<note>
<para>
Les dates aux formats <literal>m/d/y</literal> ou <literal>d-m-y</literal>
sont analysées en regardant le séparateur entre les différentes parties :
si le séparateur est un slash (<literal>/</literal>), alors le format américain
<literal>m/d/y</literal> est supposé ; si le séparateur est un tiret
(<literal>-</literal>) ou un point (<literal>.</literal>), alors le format
Européen <literal>d-m-y</literal> sera supposé. Si toutefois l'année est fournie
sur deux digits, et que le séparateur est un tiret (<literal>-</literal>),
la date sera analysée comme étant au format <literal>y-m-d</literal>.
</para>
<para>
Pour éviter des ambiguïtés éventuelles, le mieux est d'utiliser le format ISO 8601
(<literal>YYYY-MM-DD</literal>) ou encore d'utiliser la méthode
<methodname>DateTime::createFromFormat</methodname> lorsque c'est possible.
</para>
</note>
<note>
<para>
L'utilisation de cette fonction sur des opérations mathématiques
n'est pas conseillée. Il vaut mieux utiliser dans ce cas
<methodname>DateTime::add</methodname> et <methodname>DateTime::sub</methodname>.
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="datetime.formats">Les formats sur les dates</link></member>
<member><methodname>DateTime::createFromFormat</methodname></member>
<member><function>checkdate</function></member>
<member><function>strptime</function></member>
</simplelist>
</para>
</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
-->