1
0
mirror of https://github.com/php/doc-es.git synced 2026-03-24 15:32:36 +01:00
Files
2025-11-03 11:50:15 +01:00

239 lines
7.7 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 3a8c3e77df070a046c9d5b56b68926ca2d7e5ee3 Maintainer: Marqitos Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.date" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>date</refname>
<refpurpose>Da formato a una marca de tiempo de Unix (Unix timestamp)</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>date</methodname>
<methodparam><type>string</type><parameter>format</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>timestamp</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
Devuelve una cadena formateada según el formato indicado usando el
integer <parameter>timestamp</parameter> (Unix timestamp) dado, o el momento actual
si no se da una marca de tiempo. En otras palabras, <parameter>timestamp</parameter>
es opcional y por defecto es el valor de <function>time</function>.
</para>
<warning>
<para>
Las marcas de tiempo de Unix no manejan zonas horarias. Usa la
clase <classname>DateTimeImmutable</classname>, y su
método <methodname>DateTimeInterface::format</methodname>
para formatear fecha/hora incluyendo la información de zona horaria.
</para>
</warning>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>format</parameter></term>
<listitem>
<para>
Formato aceptado por <methodname>DateTimeInterface::format</methodname>.
</para>
<note>
<simpara>
<function>date</function> generará siempre
<literal>000000</literal> como microsegundos ya que toma un tipo <type>int</type>
como parámetro, mientras que <methodname>DateTimeInterface::format</methodname>
soporta microsegundos, si el objeto del tipo
<interfacename>DateTimeInterface</interfacename> es creado con microsegundos.
</simpara>
</note>
</listitem>
</varlistentry>
&date.timestamp.description;
</variablelist>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve una cadena de fecha formateada.
</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>timestamp</parameter> ahora es nullable.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title><function>date</function> examples</title>
<programlisting role="php">
<![CDATA[
<?php
// Establecer la zona horaria por omisión
date_default_timezone_set('UTC');
// Imprime algo como: Monday
echo date("l") . "\n";
// Imprime algo como: Monday 8th of August 2005 03:12:46 PM
echo date('l jS \of F Y h:i:s A') . "\n";
// Imprime: July 1, 2000 is on a Saturday
echo "July 1, 2000 is on a " . date("l", mktime(0, 0, 0, 7, 1, 2000)) . "\n";
/* Usar las constantes en el parámetro de formato */
// Imprime algo como: Wed, 25 Sep 2013 15:28:57 -0700
echo date(DATE_RFC2822) . "\n";
// Imprime algo como: 2000-07-01T00:00:00+00:00
echo date(DATE_ATOM, mktime(0, 0, 0, 7, 1, 2000));
]]>
</programlisting>
</example>
</para>
<para>
Puede prevenir que un carácter reconocido en la cadena de formato sea
expandido escapándolo con una barra invertida precedente. Si el carácter con una
barra invertida es ya una secuencia especial, necesitará escapar también
la barra invertida.
<example>
<title>Escapando caracteres en <function>date</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Imprime algo como: Wednesday the 15th
echo date('l \t\h\e jS');
]]>
</programlisting>
</example>
</para>
<para>
Algunos ejemplos de formatear <function>date</function>. Observe que
debería escapar cualesquiera otros caracteres, ya que cualquiera que tenga
actualmente un significado especial producirá resultados no deseados, y
a otros caracteres se les pueden asignar significado en futuras versiones de PHP.
Cuando se escapa un carácter, asegúrese de usar comillas simples para prevenir que
caracteres como \n se conviertan en nuevas líneas.
<example>
<title>Dando formato con <function>date</function></title>
<programlisting role="php">
<![CDATA[
<?php
// Asumiendo que hoy es 10 de marzo de 2001, 5:16:18 pm, y que estamos en la
// zona horaria Mountain Standard Time (MST)
date_default_timezone_set("America/Phoenix");
echo date("F j, Y, g:i a") . "\n"; // March 10, 2001, 5:16 pm
echo date("m.d.y") . "\n"; // 03.10.01
echo date("j, n, Y") . "\n"; // 10, 3, 2001
echo date("Ymd") . "\n"; // 20010310
echo date('h-i-s, j-m-y, it is w Day') . "\n"; // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
echo date('\i\t \i\s \t\h\e jS \d\a\y.') . "\n"; // it is the 10th day.
echo date("D M j G:i:s T Y") . "\n"; // Sat Mar 10 17:16:18 MST 2001
echo date('H:m:s \m \i\s\ \m\o\n\t\h') . "\n"; // 17:03:18 m is month
echo date("H:i:s") . "\n"; // 17:16:18
echo date("Y-m-d H:i:s") . "\n"; // 2001-03-10 17:16:18 (the MySQL DATETIME format)
]]>
</programlisting>
</example>
</para>
<para>
Para formatear fechas en otros lenguajes, debería usar
<methodname>IntlDateFormatter::format</methodname>
en vez de <function>date</function>.
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<para>
Para generar una marca de tiempo desde una cadena que representa la fecha,
puede usar <function>strtotime</function>. Además, algunas
bases de datos tienen funciones para convertir formatos de fecha en marcas de tiempo
(como la función <link xlink:href="&url.mysql.docs.date;">UNIX_TIMESTAMP</link>
de MySQL).
</para>
</note>
<tip>
<para>
La marca de tiempo del inicio de una petición está disponible en
<varname>$_SERVER['REQUEST_TIME']</varname>.
</para>
</tip>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>DateTimeImmutable::__construct</methodname></member>
<member><methodname>DateTimeInterface::format</methodname></member>
<member><function>gmdate</function></member>
<member><function>idate</function></member>
<member><function>getdate</function></member>
<member><function>getlastmod</function></member>
<member><function>mktime</function></member>
<member><methodname>IntlDateFormatter::format</methodname></member>
<member><function>time</function></member>
<member><link linkend="datetimeinterface.constants.types">Constantes Predefinidas de DateTime</link></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
-->