Files
doc-fr/reference/datetime/functions/mktime.xml
2024-07-08 13:16:36 +01:00

275 lines
9.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 349e3c6502e0bbeb15aef2b4a4a25f3f5e10fbfe Maintainer: victor-prdh Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.mktime" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mktime</refname>
<refpurpose>
Retourne l'horodatage UNIX d'une date
</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>int</type><type>false</type></type><methodname>mktime</methodname>
<methodparam><type>int</type><parameter>hour</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>minute</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>second</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>month</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>day</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>year</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>mktime</function> retourne un horodatage UNIX
correspondant aux arguments fournis. Cet horodatage est un
entier long, contenant le nombre de secondes entre le début
de l'époque UNIX (1er Janvier 1970 00:00:00 GMT) et le temps
spécifié.
</para>
<para>
Les arguments optionnels ou &null; peuvent être omis, de droite à gauche,
et tous les arguments manquants sont utilisés avec la valeur
courante de l'heure et du jour.
</para>
<warning>
<para>
Veuillez noter que l'ordre des arguments est dans un ordre impair:
<parameter>month</parameter>, <parameter>day</parameter>,
<parameter>year</parameter>, et non dans l'ordre plus raisonnable que
serait <parameter>year</parameter>, <parameter>month</parameter>,
<parameter>day</parameter>.
</para>
</warning>
<simpara>
Appeler <function>mktime</function> sans arguments n'est pas supporté.
Cela aura pour résultat de lancer une <classname>ArgumentCountError</classname>.
<function>time</function> peut être utilisé pour récupérer l'horodatage courant.
</simpara>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>hour</parameter></term>
<listitem>
<para>
Le nombre d'heures depuis le début de la journée fixée par les paramètres
<parameter>month</parameter>, <parameter>day</parameter> et <parameter>year</parameter>.
Les valeurs négatives font références aux heures avant minuit du jour en question.
Les valeurs supérieures à 23 font références aux heures associées pour le(s)
jour(s) suivant(s).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>minute</parameter></term>
<listitem>
<para>
Le nombre de minutes depuis le début de l'heure <parameter>hour</parameter>.
Les valeurs négatives font références aux minutes de l'heure précédente.
Les valeurs supérieures à 59 font références aux minutes associées
pour l'(les) heure(s) suivante(s).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>second</parameter></term>
<listitem>
<para>
Le nombre de secondes depuis le début de la minute <parameter>minute</parameter>.
Les valeurs négatives font références aux secondes de la minute précédente.
Les valeurs supérieures à 59 font références aux secondes associées à
la(les) minute(s) suivante(s).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>month</parameter></term>
<listitem>
<para>
Le nombre de mois depuis la fin de l'année précédente.
Les valeurs comprises entre 1 et 12 font références aux mois
du calendrier normal de l'année en question. Les valeurs inférieures à
1 (y compris les valeurs négatives) font références aux mois de l'année
précédente dans l'ordre inverse, aussi, 0 correspond à décembre, -1 à novembre, etc.
Les valeurs supérieures à 12 font références au mois correspondant dans l'(les) année(s)
suivante(s).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>day</parameter></term>
<listitem>
<para>
Le nombre de jours depuis la fin du mois précédent. Les valeurs comprises
entre 1 et 28, 29, 30, 31 (suivant le mois) font références aux jours normaux
dans le mois courant. Les valeurs inférieures à 1 (y compris les valeurs négatives)
font références aux jours du mois précédent, aussi, 0 correspond au dernier jour du
mois précédent, -1, le jour d'avant, etc. Les valeurs supérieures au nombre
de jours du mois courant font références aux jours correspondants du(des) mois suivant(s).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>year</parameter></term>
<listitem>
<para>
L'année, peut être sur deux ou quatre chiffres, avec des valeurs
allant de 0 à 69, correspondant aux valeurs 2000 à 2069 et 70 à 100,
correspondant aux valeurs 1970 à 2000. Sur les systèmes où time_t
un entier signé sur 32bits, ce qui est le plus courant de nos jours,
la période valide pour <parameter>year</parameter> est
quelque part près de 1901 et 2038.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<function>mktime</function> retourne un horodatage Unix des arguments donnés,
ou &false; si l'horodatage ne rentre pas dans un entier PHP.
</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.0.0</entry>
<entry>
<parameter>hour</parameter> n'est plus optionnel.
Pour obtenir un horodatage unix, il faudra utiliser la
fonction <function>time</function>.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
<parameter>minute</parameter>, <parameter>second</parameter>, <parameter>month</parameter>,
<parameter>day</parameter> et <parameter>year</parameter> sont désormais nullable.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Exemple simple avec <function>mktime</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Configuration du fuseau horaire.
date_default_timezone_set('UTC');
// Affiche : July 1, 2000 est un Saturday
echo "July 1, 2000 est un " . date("l", mktime(0, 0, 0, 7, 1, 2000));
// Affiche quelque chose comme : 2006-04-05T01:02:03+00:00
echo date('c', mktime(1, 2, 3, 4, 5, 2006));
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Exemple avec <function>mktime</function></title>
<para>
<function>mktime</function> est pratique pour faire des calculs de dates et des
validations, car elle va automatiquement corriger les valeurs invalides.
Par exemple, toutes les lignes suivantes vont retourner la même date :
"Jan-01-1998".
</para>
<programlisting role="php">
<![CDATA[
<?php
echo date("M-d-Y", mktime(0, 0, 0, 12, 32, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 13, 1, 1997));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 1998));
echo date("M-d-Y", mktime(0, 0, 0, 1, 1, 98));
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Dernier jour d'un mois</title>
<para>
Le dernier jour d'un mois peut être décrit comme
le jour "0" du mois suivant, et non pas le jour -1. Les deux
exemples suivants vont donner :
"Le dernier jour de Février 2000 est: 29".
</para>
<programlisting role="php">
<![CDATA[
<?php
$lastday = mktime(0, 0, 0, 3, 0, 2000);
echo 'Le dernier jour de Fevrier 2000 est : ', date('d', $lastday));
$lastday = mktime(0, 0, 0, 4, -31, 2000);
echo 'Le dernier jour de Fevrier 2000 est : ', date('d', $lastday));
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><classname>DateTimeImmutable</classname></member>
<member><function>checkdate</function></member>
<member><function>gmmktime</function></member>
<member><function>date</function></member>
<member><function>time</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
-->