mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-24 07:02:09 +01:00
520 lines
19 KiB
XML
520 lines
19 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 3a8c3e77df070a046c9d5b56b68926ca2d7e5ee3 Maintainer: leonardolara Status: ready --><!-- CREDITS: fabioluciano, lhsazevedo, leonardolara -->
|
|
<refentry xml:id="datetime.format" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<refnamediv>
|
|
<refname>DateTimeInterface::format</refname>
|
|
<refname>DateTimeImmutable::format</refname>
|
|
<refname>DateTime::format</refname>
|
|
<refname>date_format</refname>
|
|
<refpurpose>Retorna a data formatada de acordo com um formato informado</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<para>&style.oop;</para>
|
|
<methodsynopsis role="DateTimeInterface">
|
|
<modifier>public</modifier> <type>string</type><methodname>DateTimeInterface::format</methodname>
|
|
<methodparam><type>string</type><parameter>format</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<methodsynopsis role="DateTimeImmutable">
|
|
<modifier>public</modifier> <type>string</type><methodname>DateTimeImmutable::format</methodname>
|
|
<methodparam><type>string</type><parameter>format</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<methodsynopsis role="DateTime">
|
|
<modifier>public</modifier> <type>string</type><methodname>DateTime::format</methodname>
|
|
<methodparam><type>string</type><parameter>format</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>&style.procedural;</para>
|
|
<methodsynopsis>
|
|
<type>string</type><methodname>date_format</methodname>
|
|
<methodparam><type>DateTimeInterface</type><parameter>object</parameter></methodparam>
|
|
<methodparam><type>string</type><parameter>format</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Retorna a data formatada de acordo com um formato informado.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<variablelist>
|
|
&date.datetime.description;
|
|
<varlistentry>
|
|
<term><parameter>format</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
O formato da <type>string</type> de data resultante. Veja abaixo as
|
|
opções de formatação. Existem também várias
|
|
<link linkend="datetimeinterface.constants.types">constantes de data predefinidas</link>
|
|
que podem ser usadas, por exemplo, <constant>DATE_RSS</constant>
|
|
contém a string de formatação <literal>'D, d M Y H:i:s'</literal>.
|
|
</para>
|
|
<para>
|
|
<table>
|
|
<title>Os seguintes caracteres são reconhecidos na
|
|
string do parâmetro <parameter>format</parameter></title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Caractere em <parameter>format</parameter></entry>
|
|
<entry>Descrição</entry>
|
|
<entry>Exemplo de valores retornados</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry align="center"><emphasis>Dia</emphasis></entry>
|
|
<entry>---</entry>
|
|
<entry>---</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>d</literal></entry>
|
|
<entry>Dia do mês, 2 digits com zeros à esquerda</entry>
|
|
<entry><literal>01</literal> a <literal>31</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>D</literal></entry>
|
|
<entry>Uma representação textual de um dia, três letras</entry>
|
|
<entry><literal>Mon</literal> a <literal>Sun</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>j</literal></entry>
|
|
<entry>Dia do mês sem zeros à esquerda</entry>
|
|
<entry><literal>1</literal> a <literal>31</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>l</literal> (lowercase 'L')</entry>
|
|
<entry>Uma representação textual completa do dia da semana</entry>
|
|
<entry><literal>Sunday</literal> a <literal>Saturday</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>N</literal></entry>
|
|
<entry>Representação numérica ISO 8601 do dia da semana</entry>
|
|
<entry><literal>1</literal> (para segunda-feira) a <literal>7</literal> (para domingo)</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>S</literal></entry>
|
|
<entry>Sufixo ordinal inglês para o dia do mês, 2 caracteres</entry>
|
|
<entry>
|
|
<literal>st</literal>, <literal>nd</literal>, <literal>rd</literal> ou
|
|
<literal>th</literal>. Funciona bem com <literal>j</literal>
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>w</literal></entry>
|
|
<entry>Representação numérica do dia da semana</entry>
|
|
<entry><literal>0</literal> (para domingo) a <literal>6</literal> (para sábado)</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>z</literal></entry>
|
|
<entry>O dia do ano (começando em 0)</entry>
|
|
<entry><literal>0</literal> a <literal>365</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="center"><emphasis>Semana</emphasis></entry>
|
|
<entry>---</entry>
|
|
<entry>---</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>W</literal></entry>
|
|
<entry>Número da semana do mês ISO 8601, semanas começando na segunda-feira</entry>
|
|
<entry>Exemplo: <literal>42</literal> (a 42ª semana no ano)</entry>
|
|
</row>
|
|
<row>
|
|
<entry align="center"><emphasis>Mês</emphasis></entry>
|
|
<entry>---</entry>
|
|
<entry>---</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>F</literal></entry>
|
|
<entry>Uma representação textual completa do mês, como January ou March</entry>
|
|
<entry><literal>January</literal> a <literal>December</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>m</literal></entry>
|
|
<entry>Representação numérica de um mês, com zeros à esquerda</entry>
|
|
<entry><literal>01</literal> a <literal>12</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>M</literal></entry>
|
|
<entry>Uma representação textual curta de um mês, três letras</entry>
|
|
<entry><literal>Jan</literal> a <literal>Dec</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>n</literal></entry>
|
|
<entry>Representação numérica de um mês, sem zeros à esquerda</entry>
|
|
<entry><literal>1</literal> a <literal>12</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>t</literal></entry>
|
|
<entry>Número de dias em determinado mês</entry>
|
|
<entry><literal>28</literal> a <literal>31</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="center"><emphasis>Ano</emphasis></entry>
|
|
<entry>---</entry>
|
|
<entry>---</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>L</literal></entry>
|
|
<entry>Se é um ano bissexto</entry>
|
|
<entry><literal>1</literal> se for um ano bissexto, <literal>0</literal> caso contrário.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>o</literal></entry>
|
|
<entry>Ano de numeração da semana ISO 8601. Tem o mesmo valor que
|
|
<literal>Y</literal>, exceto que se o número da semana ISO
|
|
(<literal>W</literal>) pertencer ao ano anterior ou seguinte, esse ano
|
|
será usado.</entry>
|
|
<entry>Exemplos: <literal>1999</literal> ou <literal>2003</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>X</literal></entry>
|
|
<entry>Uma representação numérica completa expandida de um ano, pelo menos 4 dígitos,
|
|
com <literal>-</literal> para anos AEC, e <literal>+</literal>
|
|
para anos EC.</entry>
|
|
<entry>Exemplos: <literal>-0055</literal>, <literal>+0787</literal>,
|
|
<literal>+1999</literal>, <literal>+10191</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>x</literal></entry>
|
|
<entry>Uma representação numérica completa expandida se necessário, ou uma
|
|
representação numérica completa padrão se possível (como
|
|
<literal>Y</literal>). Pelo menos quatro dígitos. Anos AEC são prefixados
|
|
com um <literal>-</literal>. Anos além de (e incluindo)
|
|
<literal>10000</literal> são prefixados com um
|
|
<literal>+</literal>.</entry>
|
|
<entry>Exemplos: <literal>-0055</literal>, <literal>0787</literal>,
|
|
<literal>1999</literal>, <literal>+10191</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>Y</literal></entry>
|
|
<entry>Uma representação numérica completa de um ano, pelo menos 4 dígitos,
|
|
com <literal>-</literal> para anos AEC.</entry>
|
|
<entry>Exemplos: <literal>-0055</literal>, <literal>0787</literal>,
|
|
<literal>1999</literal>, <literal>2003</literal>,
|
|
<literal>10191</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>y</literal></entry>
|
|
<entry>Uma representação de dois digitos do ano</entry>
|
|
<entry>Exemplos: <literal>99</literal> ou <literal>03</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="center"><emphasis>Hora</emphasis></entry>
|
|
<entry>---</entry>
|
|
<entry>---</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>a</literal></entry>
|
|
<entry>Ante meridiem e Post meridiem em letras minúsculas</entry>
|
|
<entry><literal>am</literal> ou <literal>pm</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>A</literal></entry>
|
|
<entry>Ante meridiem e Post meridiem em letras maiúsculas</entry>
|
|
<entry><literal>AM</literal> ou <literal>PM</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>B</literal></entry>
|
|
<entry>Internet Time da Swatch</entry>
|
|
<entry><literal>000</literal> a <literal>999</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>g</literal></entry>
|
|
<entry>Formato de 12 horas de uma hora sem zeros à esquerda</entry>
|
|
<entry><literal>1</literal> a <literal>12</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>G</literal></entry>
|
|
<entry>Formato de 24 horas de uma hora sem zeros à esquerda</entry>
|
|
<entry><literal>0</literal> a <literal>23</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>h</literal></entry>
|
|
<entry>Formato de 12 horas de uma hora com zeros à esquerda</entry>
|
|
<entry><literal>01</literal> a <literal>12</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>H</literal></entry>
|
|
<entry>Formato de 24 horas de uma hora com zeros à esquerda</entry>
|
|
<entry><literal>00</literal> a <literal>23</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>i</literal></entry>
|
|
<entry>Minutos com zeros à esquerda</entry>
|
|
<entry><literal>00</literal> to <literal>59</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>s</literal></entry>
|
|
<entry>Segundos com zeros à esquerda</entry>
|
|
<entry><literal>00</literal> a <literal>59</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>u</literal></entry>
|
|
<entry>
|
|
Microssegundos. Note que
|
|
<function>date</function> sempre irá gerar
|
|
<literal>000000</literal> uma vez que leva um parâmetro <type>int</type>,
|
|
enquanto <methodname>DateTimeInterface::format</methodname>
|
|
suporta microssegundos se um objeto do tipo
|
|
<interfacename>DateTimeInterface</interfacename> foi criado com microssegundos.
|
|
</entry>
|
|
<entry>Exemplo: <literal>654321</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>v</literal></entry>
|
|
<entry>
|
|
Milissegundos. A mesma nota se aplica como no
|
|
<literal>u</literal>.
|
|
</entry>
|
|
<entry>Exemplo: <literal>654</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="center"><emphasis>Fuso horário</emphasis></entry>
|
|
<entry>---</entry>
|
|
<entry>---</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>e</literal></entry>
|
|
<entry>Identificador do fuso horário</entry>
|
|
<entry>Exemplos: <literal>UTC</literal>, <literal>GMT</literal>, <literal>Atlantic/Azores</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>I</literal> (i maiúsculo)</entry>
|
|
<entry>Se a data está ou não no horário de verão</entry>
|
|
<entry><literal>1</literal> se está no horário de verão, <literal>0</literal> caso contrário.</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>O</literal></entry>
|
|
<entry>Diferença para o horário de Greenwich (GMT) sem dois pontos entre horas e minutos</entry>
|
|
<entry>Example: <literal>+0200</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>P</literal></entry>
|
|
<entry>Diferença para o horário de Greenwich (GMT) com dois pontos entre horas e minutos</entry>
|
|
<entry>Exemplo: <literal>+02:00</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>p</literal></entry>
|
|
<entry>
|
|
O mesmo que <literal>P</literal>, mas retorna <literal>Z</literal> em vez de <literal>+00:00</literal>
|
|
(disponível a partir do PHP 8.0.0)
|
|
</entry>
|
|
<entry>Exemplo: <literal>Z</literal> ou <literal>+02:00</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>T</literal></entry>
|
|
<entry>Abreviação do fuso horário, se conhecido; ou o deslocamento GMT caso contrário.</entry>
|
|
<entry>Exemplos: <literal>EST</literal>, <literal>MDT</literal>, <literal>+05</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>Z</literal></entry>
|
|
<entry>Deslocamento do fuso horário em segundos. O deslocamento para fusos a oeste de UTC é sempre
|
|
negativo, e para aqueles a leste de UTC é sempre positivo.</entry>
|
|
<entry><literal>-43200</literal> a <literal>50400</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry align="center"><emphasis>Data/Horário completos</emphasis></entry>
|
|
<entry>---</entry>
|
|
<entry>---</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>c</literal></entry>
|
|
<entry>Data ISO 8601. Compatível somente com o formato não expandido (até o ano 9999). Datas posteriores resultarão em string inválida. Para datas posteriores e formato expandido, consulte <literal>x</literal> e <literal>X</literal>.</entry>
|
|
<entry>2004-02-12T15:19:21+00:00</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>r</literal></entry>
|
|
<entry>Data formatada <link xlink:href="&url.rfc;2822">RFC 2822</link>/<link xlink:href="&url.rfc;5322">RFC 5322</link></entry>
|
|
<entry>Exemplo: <literal>Thu, 21 Dec 2000 16:01:07 +0200</literal></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>U</literal></entry>
|
|
<entry>Segundos desde a Época Unix (1 de janeiro de 1970 00:00:00 GMT)</entry>
|
|
<entry>Veja também <function>time</function></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</para>
|
|
<para>
|
|
Caracteres não reconhecidos na string de formatação serão impressos
|
|
como estão. O formato <literal>Z</literal> sempre retornará
|
|
<literal>0</literal> ao usar <function>gmdate</function>.
|
|
</para>
|
|
<note>
|
|
<para>
|
|
Uma vez que esta função só aceita timestamps <type>int</type>, o caractere de formato
|
|
<literal>u</literal> só é útil ao usar a função
|
|
<function>date_format</function> com timestamps baseados no usuário
|
|
criados com <function>date_create</function>.
|
|
</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1>
|
|
|
|
<refsect1 role="returnvalues">
|
|
&reftitle.returnvalues;
|
|
<para>
|
|
Retorna a data formatada em caso de sucesso.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="changelog">
|
|
&reftitle.changelog;
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>&Version;</entry>
|
|
<entry>&Description;</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>8.2.0</entry>
|
|
<entry>
|
|
Os caracteres de formatação <literal>X</literal> e <literal>x</literal>
|
|
foram adicionados.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>8.0.0</entry>
|
|
<entry>
|
|
O caractere de formatação <literal>p</literal> foi adicionado.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</refsect1>
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
<example>
|
|
<title>Exemplo de <function>DateTimeInterface::format</function></title>
|
|
<para>&style.oop;</para>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$date = new DateTimeImmutable('2000-01-01');
|
|
echo $date->format('Y-m-d H:i:s');
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
2000-01-01 00:00:00
|
|
]]>
|
|
</screen>
|
|
<para>&style.procedural;</para>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$date = date_create('2000-01-01');
|
|
echo date_format($date, 'Y-m-d H:i:s');
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
2000-01-01 00:00:00
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
|
|
<para>
|
|
<example>
|
|
<title>Mais exemplos</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
// define o fuso horário padrão a ser usado.
|
|
date_default_timezone_set('UTC');
|
|
|
|
// agora
|
|
$date = new DateTimeImmutable();
|
|
|
|
// Imprime algo como: Wednesday
|
|
echo $date->format('l'), "\n";
|
|
|
|
// Imprime algo como: Wednesday 19th of October 2022 08:40:48 AM
|
|
echo $date->format('l jS \o\f F Y h:i:s A'), "\n";
|
|
|
|
/* usa as constantes no parâmetro format */
|
|
// Imprime algo como: Wed, 19 Oct 2022 08:40:48 +0000
|
|
echo $date->format(DateTimeInterface::RFC2822), "\n";
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Pode-se evitar que um caractere reconhecido na string de formação seja
|
|
expandido escapando-o com uma barra invertida antes. Se o caractere com
|
|
uma barra invertida já for uma sequência especial, pode-se escapar também
|
|
a barra invertida.
|
|
<example>
|
|
<title>Escapando caracteres ao formatar</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$date = new DateTimeImmutable();
|
|
|
|
// exibe algo como: Wednesday the 19th
|
|
echo $date->format('l \t\h\e jS');
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
<para>
|
|
Para formatar datas em outras línguas,
|
|
<methodname>IntlDateFormatter::format</methodname>
|
|
pode ser usado em vez do <methodname>DateTimeInterface::format</methodname>.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="notes">
|
|
&reftitle.notes;
|
|
<para>
|
|
Este método não utiliza configurações baseadas no idioma. Toda a saída será em Inglês.
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="seealso">
|
|
&reftitle.seealso;
|
|
<simplelist>
|
|
<member><methodname>IntlDateFormatter::format</methodname></member>
|
|
</simplelist>
|
|
</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
|
|
-->
|