1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-26 00:12:06 +01:00
Files
archived-doc-es/reference/datetime/functions/mktime.xml
Pedro Antonio Gil Rodríguez c96a74a2b4 Actualización a la última versión
git-svn-id: https://svn.php.net/repository/phpdoc/es/trunk@336987 c90b9560-bf6c-de11-be94-00142212c4b1
2015-06-17 10:53:36 +00:00

325 lines
11 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: bce4e5f7d7979c5b672e9375a17860b0ced5eef3 Maintainer: seros Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.mktime" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>mktime</refname>
<refpurpose>Obtener la marca de tiempo Unix de una fecha</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>int</type><methodname>mktime</methodname>
<methodparam choice="opt"><type>int</type><parameter>hour</parameter><initializer>date("H")</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>minute</parameter><initializer>date("i")</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>second</parameter><initializer>date("s")</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>month</parameter><initializer>date("n")</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>day</parameter><initializer>date("j")</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>year</parameter><initializer>date("Y")</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>is_dst</parameter><initializer>-1</initializer></methodparam>
</methodsynopsis>
<para>
Devuelve la marca de tiempo Unix correspondiente a los argumentos
dados. Esta marca de tiempo es un entero que contiene el número de
segundos entre la Época Unix (1 de Enero del 1970 00:00:00 GMT) y el instante
especificado.
</para>
<para>
Los argumentos pueden omitirse de derecha a izquierda; cualquier
argumento que se omita será establecido al valor actual según
la fecha y hora locales.
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Desde PHP 5.1, cuando se hace la llamada sin argumentos, <function>mktime</function>
lanza un aviso de tipo <constant>E_STRICT</constant>: use la
función <function>time</function> en su lugar.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>hour</parameter></term>
<listitem>
<para>
El número de la hora relativa al inicio del día determinado por
<parameter>month</parameter>, <parameter>day</parameter> y <parameter>year</parameter>.
Los valores negativos referencian la hora antes de la media noche del día en cuestión.
Los valores mayores que 23 referencian la hora apropiada en el/los día/s siguiente/s.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>minute</parameter></term>
<listitem>
<para>
El número de los minutos relativos al inicio de <parameter>hour</parameter>.
Los valores negativos referencian el minuto en la hora previa.
Los valores mayores que 59 referencian el minuto apropiado en la/s hora/s siguiente/s.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>second</parameter></term>
<listitem>
<para>
El número de segundos relativos al inicio de <parameter>minute</parameter>.
Los valores negativos referencian el segundo en el minuto previo.
Los valores mayores que 59 referencian el segundo apropiado en el/los minuto/s siguiente/s.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>month</parameter></term>
<listitem>
<para>
El número del mes relativo al final del año previo.
Los valores de 1 a 12 referencian los meses del calendario normal del año en cuestión.
Los valores menores que 1 (incluyendo valores negativos) referencian los meses del año previo en orden inverso, por lo que 0 es Diciembre, -1 es Noviembre, etc.
Los valores mayores que 12 referencian el mes apropiado en el/los año/s siguiente/s.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>day</parameter></term>
<listitem>
<para>
El número del día relativo al final del mes previo.
Los valores del 1 al 28, 29, 30 o 31 (dependiendo del mes) referencian los días normales del mes relevante.
Los valores menores que 1 (incluyendo valores negativos) referencian los días del mes previo por lo que 0 es el último día del mes previo, -1 es el día anterior a ese, etc.
Los valores mayores que el número de días del mes relevante referencian el día apropiado en el/los mes/es siguiente/s.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>year</parameter></term>
<listitem>
<para>
El número del año, puede ser un valor de dos o cuatro dígitos,
con valores entre 0-69 mapeados a 2000-2069 y 70-100 a
1970-2000. En sistemas donde time_t es un entero con signo de 32 bits, como
es lo más normal hoy en día, el rango válido para <parameter>year</parameter>
es entre 1901 y 2038. Sin embargo, antes de PHP 5.1.0 este
rango estaba limitado desde 1970 a 2038 en algunos sistemas (p.ej. Windows).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>is_dst</parameter></term>
<listitem>
<para>
Este parámetro se puede establecer a 1 si el instante está durante el horario de verano (DST),
0 si no, o -1 (por omisión) si no se sabe si el instante está durante el horario
de verano. Si no se sabe, PHP lo intentará calcular por sí mismo.
Esto puede causar resultados inesperados (pero no incorrectos).
Algunas veces no son válidos si DST está habilitado en el sistema donde se ejecuta PHP o
<parameter>is_dst</parameter> está establecido a 1. Si DST está habilitado a, p.ej. 2:00,
todas las horas entre las 2:00 y las 3:00 no son válidas y <function>mktime</function>
devuelve un valor indefinido (normalmente negativo).
Algunos sistemas (p.ej. Solaris 8) habilitan DST a la medianoche por lo que la hora 0:30
del día, cuando DST está habilitado, es evaluada como 23:30 del día anterior.
</para>
<note>
<para>
A partir de PHP 5.1.0, este parámetro se volvió obsoleto. Como resultado, se
pueden usar en su lugar las nuevas características de manejo de zonas horarias.
</para>
</note>
<note>
<para>
Este parámetro ha sido eliminado en PHP 7.0.0.
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
<function>mktime</function> devuelve la marca de tiempo Unix de los argumentos
dados.
Si los argumentos no son válidos, la función devuelve &false; (antes de PHP 5.1
devolvía <literal>-1</literal>).
</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>7.0.0</entry>
<entry>
El parámetro <parameter>is_dst</parameter> ha sido eliminado.
</entry>
</row>
<row>
<entry>5.3.0</entry>
<entry>
<function>mktime</function> ahora lanza un aviso de tipo <constant>E_DEPRECATED</constant>
si se usa el parámetro <parameter>is_dst</parameter>.
</entry>
</row>
<row>
<entry>5.1.0</entry>
<entry>
El parámetro <parameter>is_dst</parameter> se volvió obsoleto.
Hacía que la funcion devolviese &false; si se pruducía un error, en vez de
<literal>-1</literal>.
Arreglada la función para que acepte el año, mes y día pasados como
cero.
</entry>
</row>
<row>
<entry>5.1.0</entry>
<entry>
Cuando se hace la llamada sin argumento, <function>mktime</function> lanza
un aviso <constant>E_STRICT</constant>. Use la
función <function>time</function> en su lugar.
</entry>
</row>
&date.timezone.errors.changelog;
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Ejemplo básico de <function>mktime</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Establecer la zona horaria predeterminada a usar. Disponible desde PHP 5.1
date_default_timezone_set('UTC');
// Imprime: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000));
// Imprime algo como: 2006-04-05T01:02:03+00:00
echo date('c', mktime(1, 2, 3, 4, 5, 2006));
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Ejemplo de <function>mktime</function></title>
<para>
<function>mktime</function> es útil para hacer que las fechas sean
aritméticas y válidas, ya que calculará automáticamente el valor
correcto para las entradas que estén fuera de rango. Por ejemplo, cada una de las
líneas siguientes producirá la cadena "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>El último día del mes</title>
<para>
El último día de cualquier mes dado se puede expresar como el día "0"
del mes siguiente, no el día -1. Los dos ejemplos siguientes
producirán la cadena "El último día en Feb 2000 es: 29".
</para>
<programlisting role="php">
<![CDATA[
<?php
$último_día = mktime(0, 0, 0, 3, 0, 2000);
echo strftime("El último día en Feb 2000 es: %d", $último_día);
$último_día = mktime(0, 0, 0, 4, -31, 2000);
echo strftime("El último día en Feb 2000 es: %d", $último_día);
?>
]]>
</programlisting>
</example>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<caution>
<para>
Antes de PHP 5.1.0, las marcas de tiempo negativas no estaban soportadas bajo ninguna versión
de Windows conocida, y tampoco en otros sistemas. Por lo tanto el rango de años
válidos estaba limitado desde 1970 hasta 2038.
</para>
</caution>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<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
-->