mirror of
https://github.com/php/doc-pt_br.git
synced 2026-03-23 22:52:12 +01:00
* Minor corrections to pull request #341 * Initial translation of features/gc and features/dtrace * Update to language-snippets.ent * Update to language/errors.xml * Updates to language/predefined/attributes/* * Updates to outdated language/predefined/variables/* * Update to outdated files in install/windows/ * New translation of missing file security/sessions.xml * New translation of missing files in language/context * Update datetime.xml * New translation of missing files in datetime/ --------- Co-authored-by: LEONARDO LARA RODRIGUES <leonardolara@github.com>
1242 lines
42 KiB
XML
1242 lines
42 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- EN-Revision: 7a75b854c8c52226d38397e7e8177e339fdb273f Maintainer: fabioluciano Status: ready --><!-- CREDITS: fabioluciano, rogeriopradoj, leonardolara -->
|
|
<chapter xml:id="datetime.formats" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<title>Formatos de Data e Hora Suportados</title>
|
|
|
|
<para>
|
|
Esta seção descreve todos os diferentes formatos em uma sintaxe BNF, que os
|
|
analisadores de <classname>DateTimeImmutable</classname>, <classname>DateTime</classname>,
|
|
<function>date_create_immutable</function>,
|
|
<function>date_create</function>, <function>date_parse</function> e
|
|
<function>strtotime</function> entendem. Os formatos estão agrupados
|
|
por seção. Na maioria dos casos, formatos de diferentes seções, separados por
|
|
espaços, vírgula ou ponto, podem ser utilizados com a mesma string data/hora. Para cada um
|
|
dos formatos suportados, um ou mais exemplos estão disponíveis, assim
|
|
como a descrição do formato. Nos formatos, caracteres entre aspas simples
|
|
são insensíveis a maiúsculas/minúsculas (<literal>'t'</literal> pode
|
|
ser <literal>t</literal> ou <literal>T</literal>), caracteres entre
|
|
aspas duplas são sensíveis a maiúsculas/minúsculas (<literal>"T"</literal> só pode ser
|
|
<literal>T</literal>).
|
|
</para>
|
|
<para>
|
|
Para formatar objetos <classname>DateTimeImmutable</classname> e
|
|
<classname>DateTime</classname>, favor se referir à documentação
|
|
do método <function>DateTimeInterface::format</function>.
|
|
</para>
|
|
|
|
<para>
|
|
Um conjunto geral de regras deve ser considerado.
|
|
</para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<simpara>
|
|
O analisador permite para cada unidade (ano, mês, dia, hora, minuto, segundo)
|
|
o intervalo completo de valores. Para um ano são apenas 4 dígitos, para um mês
|
|
o intervalo é 0-12, dia é 0-31, hora é 0-24, e minuto é 0-59.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
60 é permitido para segundos, e algumas vezes strings com este
|
|
segundo adicional aparecem. Porém, o PHP implementa o horário Unix onde "60" não é
|
|
um segundo válido e por isso ocorre sobrecarga.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
<function>strtotime</function> retorna &false; se quaisquer números estiverem fora dos
|
|
intervalos, e <function>DateTimeImmutable::__construct</function> dispara
|
|
uma exceção.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Se um string contém somente uma data, todos os elementos de horário são inicializados em 0.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Todos os elementos menos significativos são inicializados em 0 se alguma parte do horário estiver
|
|
presente no string.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
O analisador é muito simples, e não faz verificações adicionais, o que o torna mais rápido (e
|
|
mais genérico).
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
Além das regras para os elementos de horário individuais, o analisador também entende
|
|
<link linkend="datetime.formats.compound">formatos compostos</link> mais específicos,
|
|
como análise de timestamps Unix
|
|
(<literal>@1690388256</literal>) e números de semana ISO
|
|
(<literal>2008-W28-3</literal>).
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Há uma verificação adicional se uma data inválida é fornecida:
|
|
<example>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$res = date_parse("2015-09-31");
|
|
var_dump($res["warnings"]);
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
array(1) {
|
|
[11] =>
|
|
string(27) "The parsed date was invalid"
|
|
}
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
</listitem>
|
|
<listitem>
|
|
<para>
|
|
Já é possível lidar com casos extremos, mas neste caso
|
|
a função <function>DateTimeImmutable::createFromFormat</function> deve ser usada
|
|
e o formato correto fornecido.
|
|
<example>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$res = DateTimeImmutable::createFromFormat("Y-m-d", "2015-09-34");
|
|
var_dump($res);
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
object(DateTimeImmutable)#1 (3) {
|
|
["date"]=>
|
|
string(26) "2015-10-04 17:24:43.000000"
|
|
["timezone_type"]=>
|
|
int(3)
|
|
["timezone"]=>
|
|
string(13) "Europe/London"
|
|
}
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</para>
|
|
</listitem>
|
|
</orderedlist>
|
|
|
|
<!--Time Formats: {{{-->
|
|
<sect1 annotations="chunk:false" xml:id="datetime.formats.time">
|
|
<title>Formatos de Hora</title>
|
|
|
|
<para>
|
|
Esta página descreve os diferentes formatos de data/hora em uma sintaxe BNF,
|
|
que os analisadores de <classname>DateTimeImmutable</classname>,
|
|
<classname>DateTime</classname>, <function>date_create</function>,
|
|
<function>date_create_immutable</function> e
|
|
<function>strtotime</function> entendem.
|
|
</para>
|
|
<para>
|
|
Para formatar objetos <classname>DateTimeImmutable</classname> e
|
|
<classname>DateTime</classname>, favor se referir à documentação
|
|
do método <function>DateTimeInterface::format</function>.
|
|
</para>
|
|
|
|
<table>
|
|
<title>Símbolos utilizados</title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Descrição</entry>
|
|
<entry>Formatos</entry>
|
|
<entry>Examplos</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>frac</literal></entry>
|
|
<entry>. [0-9]+</entry>
|
|
<entry>".21342", ".85"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>hh</literal></entry>
|
|
<entry>"0"?[1-9] | "1"[0-2]</entry>
|
|
<entry>"04", "7", "12"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>HH</literal></entry>
|
|
<entry>[01][0-9] | "2"[0-4]</entry>
|
|
<entry>"04", "07", "19"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>meridian</literal></entry>
|
|
<entry>[AaPp] .? [Mm] .? [\0\t ]</entry>
|
|
<entry>"A.m.", "pM", "am."</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>MM</literal></entry>
|
|
<entry>[0-5][0-9]</entry>
|
|
<entry>"00", "12", "59"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>II</literal></entry>
|
|
<entry>[0-5][0-9]</entry>
|
|
<entry>"00", "12", "59"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>espaço</literal></entry>
|
|
<entry>[ \t]</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>tz</literal></entry>
|
|
<entry>"("? [A-Za-z]{1,6} ")"? | [A-Z][a-z]+([_/][A-Z][a-z]+)+</entry>
|
|
<entry>"CEST", "Europe/Amsterdam", "America/Indiana/Knox"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>tzcorrection</literal></entry>
|
|
<entry>"GMT"? [+-] <literal>hh</literal> ":"? <literal>MM</literal>?</entry>
|
|
<entry>"+0400", "GMT-07:00", "-07:00"</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<table>
|
|
<title>Notação de 12 Horas</title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Descrição</entry>
|
|
<entry>Formatos</entry>
|
|
<entry>Examplos</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>Somente as horas, com o meridiano</entry>
|
|
<entry><literal>hh</literal> <literal>space</literal>? <literal>meridian</literal></entry>
|
|
<entry>"4 am", "5PM"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Horas e minutos, com o meridiano</entry>
|
|
<entry><literal>hh</literal> [.:] <literal>MM</literal> <literal>space</literal>? <literal>meridian</literal></entry>
|
|
<entry>"4:08 am", "7:19P.M."</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Horas, minutos e segundos, com o meridiano</entry>
|
|
<entry><literal>hh</literal> [.:] <literal>MM</literal> [.:] <literal>II</literal> <literal>space</literal>? <literal>meridian</literal></entry>
|
|
<entry>"4:08:37 am", "7:19:19P.M."</entry>
|
|
</row>
|
|
<row>
|
|
<entry>MS SQL (Horas, minutos, segundos e a fração com o meridiano)</entry>
|
|
<entry><literal>hh</literal> ":" <literal>MM</literal> ":" <literal>II</literal> [.:] [0-9]+ <literal>meridian</literal></entry>
|
|
<entry>"4:08:39:12313am"</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<table>
|
|
<title>Notação de 24 Horas</title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Descrição</entry>
|
|
<entry>Formato</entry>
|
|
<entry>Exemplos</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>Horas e minutos</entry>
|
|
<entry>'t'? <literal>HH</literal> [.:] <literal>MM</literal></entry>
|
|
<entry>"04:08", "19.19", "T23:43"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Horas e minutos, sem dois-pontos</entry>
|
|
<entry>'t'? <literal>HH</literal> <literal>MM</literal></entry>
|
|
<entry>"0408", "t1919", "T2343"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Horas, minutos e segundos</entry>
|
|
<entry>'t'? <literal>HH</literal> [.:] <literal>MM</literal> [.:] <literal>II</literal></entry>
|
|
<entry>"04.08.37", "t19:19:19"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Horas, minutos e segundos, sem dois-pontos</entry>
|
|
<entry>'t'? <literal>HH</literal> <literal>MM</literal> <literal>II</literal></entry>
|
|
<entry>"040837", "T191919"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Horas, minutos, segundos e fuso horário</entry>
|
|
<entry>'t'? <literal>HH</literal> [.:] <literal>MM</literal> [.:] <literal>II</literal> <literal>space</literal>? ( <literal>tzcorrection</literal> | <literal>tz</literal> )</entry>
|
|
<entry>"040837CEST", "T191919-0700"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Horas, minutos, segundos e fração</entry>
|
|
<entry>'t'? <literal>HH</literal> [.:] <literal>MM</literal> [.:] <literal>II</literal> <literal>frac</literal></entry>
|
|
<entry>"04.08.37.81412", "19:19:19.532453"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Informações do fuso horário</entry>
|
|
<entry><literal>tz</literal> | <literal>tzcorrection</literal></entry>
|
|
<entry>"CEST", "Europe/Amsterdam", "+0430", "GMT-06:00"</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
</sect1>
|
|
<!--}}}-->
|
|
|
|
<!--Date Formats: {{{-->
|
|
<sect1 annotations="chunk:false" xml:id="datetime.formats.date">
|
|
<title>Formatos de Data</title>
|
|
|
|
<para>
|
|
Esta página descreve os diferentes formatos de data em uma sintaxe BNF, que
|
|
os analisadores de <classname>DateTimeImmutable</classname>,
|
|
<classname>DateTime</classname>, <function>date_create</function>,
|
|
<function>date_create_immutable</function> e
|
|
<function>strtotime</function> entendem.
|
|
</para>
|
|
<para>
|
|
Para formatar objetos <classname>DateTimeImmutable</classname> e
|
|
<classname>DateTime</classname>, favor se referir à documentação
|
|
do método <function>DateTimeInterface::format</function>.
|
|
</para>
|
|
|
|
<table>
|
|
<title>Simbolos Utilizados</title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Descrição</entry>
|
|
<entry>Formato</entry>
|
|
<entry>Exemplos</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>daysuf</literal></entry>
|
|
<entry>"st" | "nd" | "rd" | "th"</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>dd</literal></entry>
|
|
<entry>([0-2]?[0-9] | "3"[01]) <literal>daysuf</literal>?</entry>
|
|
<entry>"7th", "22nd", "31"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>DD</literal></entry>
|
|
<entry>"0" [0-9] | [1-2][0-9] | "3" [01]</entry>
|
|
<entry>"07", "31"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>m</literal></entry>
|
|
<entry>'january' | 'february' | 'march' | 'april' | 'may' | 'june' |
|
|
'july' | 'august' | 'september' | 'october' | 'november' | 'december' |
|
|
'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' |
|
|
'sept' | 'oct' | 'nov' | 'dec' | "I" | "II" | "III" | "IV" | "V" | "VI"
|
|
| "VII" | "VIII" | "IX" | "X" | "XI" | "XII"</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>M</literal></entry>
|
|
<entry>'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' |
|
|
'sep' | 'sept' | 'oct' | 'nov' | 'dec'</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>mm</literal></entry>
|
|
<entry>"0"? [0-9] | "1"[0-2]</entry>
|
|
<entry>"0", "04", "7", "12"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>MM</literal></entry>
|
|
<entry>"0" [0-9] | "1"[0-2]</entry>
|
|
<entry>"00", "04", "07", "12"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>y</literal></entry>
|
|
<entry>[0-9]{1,4}</entry>
|
|
<entry>"00", "78", "08", "8", "2008"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>yy</literal></entry>
|
|
<entry>[0-9]{2}</entry>
|
|
<entry>"00", "08", "78"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>YY</literal></entry>
|
|
<entry>[0-9]{4}</entry>
|
|
<entry>"2000", "2008", "1978"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>YYY</literal></entry>
|
|
<entry>[0-9]{5,19}</entry>
|
|
<entry>"81412", "20192"</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<table>
|
|
<title>Notações Localizadas</title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Descrição</entry>
|
|
<entry>Formato</entry>
|
|
<entry>Exemplos</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>Dia e mês americano</entry>
|
|
<entry><literal>mm</literal> "/" <literal>dd</literal></entry>
|
|
<entry>"5/12", "10/27"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Dia, mês e ano americano</entry>
|
|
<entry><literal>mm</literal> "/" <literal>dd</literal> "/" <literal>y</literal></entry>
|
|
<entry>"12/22/78", "1/17/2006", "1/17/6"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ano com quatro dígitos, mês e dia com barras</entry>
|
|
<entry><literal>YY</literal> "/" <literal>mm</literal> "/" <literal>dd</literal></entry>
|
|
<entry>"2008/6/30", "1978/12/22"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ano com quatro dígitos e mês (GNU)</entry>
|
|
<entry><literal>YY</literal> "-" <literal>mm</literal></entry>
|
|
<entry>"2008-6", "2008-06", "1978-12"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ano, mês e dia com traços</entry>
|
|
<entry><literal>y</literal> "-" <literal>mm</literal> "-" <literal>dd</literal></entry>
|
|
<entry>"2008-6-30", "78-12-22", "8-6-21"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Dia, mês e ano, com quatro dígitos, com pontos, tabulações ou traços</entry>
|
|
<entry><literal>dd</literal> [.\t-] <literal>mm</literal> [.-] <literal>YY</literal></entry>
|
|
<entry>"30-6-2008", "22.12.1978"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Dia, mês e ano, com dois dígitos, com pontos ou tabulações</entry>
|
|
<entry><literal>dd</literal> [.\t] <literal>mm</literal> "." <literal>yy</literal></entry>
|
|
<entry>"30.6.08", "22\t12.78"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Dia, mês textual e ano</entry>
|
|
<entry><literal>dd</literal> ([ \t.-])* <literal>m</literal> ([ \t.-])* <literal>y</literal></entry>
|
|
<entry>"30-June 2008", "22DEC78", "14 III 1879"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Mês textual e ano com quatro dígitos (O dia é redefinido para 1)</entry>
|
|
<entry><literal>m</literal> ([ \t.-])* <literal>YY</literal></entry>
|
|
<entry>"June 2008", "DEC1978", "March 1879"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ano com quatro dígitos e mês textual (O dia é redefinido para 1)</entry>
|
|
<entry><literal>YY</literal> ([ \t.-])* <literal>m</literal></entry>
|
|
<entry>"2008 June", "1978-XII", "1879.MArCH"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Mês textual, dia e ano</entry>
|
|
<entry><literal>m</literal> ([ .\t-])* <literal>dd</literal> [,.stndrh\t ]+ <literal>y</literal></entry>
|
|
<entry>"July 1st, 2008", "April 17, 1790", "May.9,78"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Mês textual e dia</entry>
|
|
<entry><literal>m</literal> ([ .\t-])* <literal>dd</literal> [,.stndrh\t ]*</entry>
|
|
<entry>"July 1st,", "Apr 17", "May.9"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Dia e mês textual</entry>
|
|
<entry><literal>dd</literal> ([ .\t-])* <literal>m</literal></entry>
|
|
<entry>"1 July", "17 Apr", "9.May"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Mês abreviado, dia e ano</entry>
|
|
<entry><literal>M</literal> "-" <literal>DD</literal> "-" <literal>y</literal></entry>
|
|
<entry>"May-09-78", "Apr-17-1790"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ano, mês abreviado e dia</entry>
|
|
<entry><literal>y</literal> "-" <literal>M</literal> "-" <literal>DD</literal></entry>
|
|
<entry>"78-Dec-22", "1814-MAY-17"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ano (somente o ano)</entry>
|
|
<entry><literal>YY</literal></entry>
|
|
<entry>"1978", "2008"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Year (expandido, 5-19 dígitos com sinal)</entry>
|
|
<entry>[+-] <literal>YYY</literal></entry>
|
|
<entry>"-81120", "+20192"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Mês textual (somente o mês)</entry>
|
|
<entry><literal>m</literal></entry>
|
|
<entry>"March", "jun", "DEC"</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<table>
|
|
<title>Notação ISO8601</title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Descrição</entry>
|
|
<entry>Formato</entry>
|
|
<entry>Exemplos</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>Ano com oito dígitos, mês e dia</entry>
|
|
<entry><literal>YY</literal> <literal>MM</literal> <literal>DD</literal></entry>
|
|
<entry>"15810726", "19780417", "18140517"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ano com quatro dígitos, mês e dia com barras</entry>
|
|
<entry><literal>YY</literal> "/" <literal>MM</literal> "/" <literal>DD</literal></entry>
|
|
<entry>"2008/06/30", "1978/12/22"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ano com dois dígitos, mês e dia com traços</entry>
|
|
<entry><literal>yy</literal> "-" <literal>MM</literal> "-" <literal>DD</literal></entry>
|
|
<entry>"08-06-30", "78-12-22"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ano com quatro dígitos, com sinal opcional, mês e dia</entry>
|
|
<entry>[+-]? <literal>YY</literal> "-" <literal>MM</literal> "-" <literal>DD</literal></entry>
|
|
<entry>"-0002-07-26", "+1978-04-17", "1814-05-17"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ano com 5+ dígitos com sinal, mês e dia</entry>
|
|
<entry>[+-] <literal>YYY</literal> "-" <literal>MM</literal> "-" <literal>DD</literal></entry>
|
|
<entry>"-81120-02-26", "+20192-04-17"</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<note>
|
|
<para>
|
|
Para os formatos <literal>y</literal> e <literal>yy</literal>,
|
|
anos abaixo de 100 são manipulados de maneira especial quando os
|
|
símbolos <literal>y</literal> ou <literal>yy</literal> são utilizados.
|
|
Se o ano cair no período de 0 (incluso) a 69 (incluso),
|
|
2000 anos são adicionados. Se o ano cair no período de 70 (incluso) a
|
|
99 (incluso), então 1900 são adicionados. Isso significa que "00-01-01"
|
|
será interpretado como "2000-01-01".
|
|
</para>
|
|
</note>
|
|
|
|
<note>
|
|
<para>
|
|
O formato "Dia, mês e ano com dois dígitos, com pontos ou tabulações"
|
|
(<literal>dd</literal> [.\t] <literal>mm</literal> "."
|
|
<literal>yy</literal>) somente funciona para valores de ano que variam 61 (incluso)
|
|
até 99 (incluso) - fora destes anos, o <emphasis>formato
|
|
de tempo</emphasis> "<literal>HH</literal> [.:] <literal>MM</literal>
|
|
[.:] <literal>SS</literal>" possui precedência.
|
|
</para>
|
|
</note>
|
|
|
|
<note>
|
|
<para>
|
|
O formato "Ano (somente o ano)", somente funcionará se uma string de tempo
|
|
já foi encontrada -- caso contrário o formato será reconhecida como
|
|
<literal>HH</literal> <literal>MM</literal>.
|
|
</para>
|
|
</note>
|
|
|
|
<caution>
|
|
<para>
|
|
É possível exceder positivamente e negativamente os formatos <literal>dd</literal> e
|
|
<literal>DD</literal>. Dia 0 corresponde a último dia do mês
|
|
anterior, assim como excedências positivas contam no próximo mês. Isso faz com que
|
|
"2008-08-00" seja equivalente a "2008-07-31" e "2008-07-31" seja equivalente
|
|
a "2008-07-01" (Junho possui somente 30 dias).
|
|
</para>
|
|
<para>
|
|
Note que o intervalo de dia é restrito a 0-31 como indicado
|
|
pela expressão regular acima. Por isso, "2008-06-32" não é um string de data válida,
|
|
por exemplo.
|
|
</para>
|
|
<para>
|
|
É possível exceder negativamente os formatos <literal>mm</literal> and
|
|
<literal>MM</literal> com o valor 0. O valor de mês
|
|
0 corresponde a Dezembro do mês anterior. Como exemplo, "2008-00-22" é
|
|
equivalente a "2007-12-22".
|
|
</para>
|
|
<para>
|
|
Se você combinar os dois fatos e exceder negativamente o dia e o
|
|
mês, o que segue acontece: "2008-00-00" primeiro será convertido
|
|
para "2007-12-00" que então será convertido para "2007-11-30". Isso também
|
|
acontece com a string "0000-00-00", que é transformada em
|
|
"-0001-11-30" (o ano -1 ano calendário ISO 8601, que é 2 anos DC no calendário
|
|
que antecede o calendário Gregoriano).
|
|
</para>
|
|
</caution>
|
|
</sect1>
|
|
<!--}}}-->
|
|
|
|
<!--Compound Formats: {{{-->
|
|
<sect1 annotations="chunk:false" xml:id="datetime.formats.compound">
|
|
<title>Formatos Compostos</title>
|
|
|
|
<para>
|
|
Esta página descreve os diferentes formatos compostos de data/hora em uma sintaxe
|
|
BNF, que os analisadores de <classname>DateTimeImmutable</classname>,
|
|
<classname>DateTime</classname>, <function>date_create</function>,
|
|
<function>date_create_immutable</function> e
|
|
<function>strtotime</function> entendem.
|
|
</para>
|
|
<para>
|
|
Para formatar objetos <classname>DateTimeImmutable</classname> e
|
|
<classname>DateTime</classname>, favor se referir à documentação
|
|
do método <function>DateTimeInterface::format</function>.
|
|
</para>
|
|
|
|
<table>
|
|
<title>Símbolos Utilizados</title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Descrição</entry>
|
|
<entry>Formato</entry>
|
|
<entry>Exemplos</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>DD</literal></entry>
|
|
<entry>"0" [0-9] | [1-2][0-9] | "3" [01]</entry>
|
|
<entry>"02", "12", "31"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>doy</literal></entry>
|
|
<entry>"00"[1-9] | "0"[1-9][0-9] | [1-2][0-9][0-9] | "3"[0-5][0-9] | "36"[0-6]</entry>
|
|
<entry>"001", "012", "180", "350", "366"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>frac</literal></entry>
|
|
<entry>. [0-9]+</entry>
|
|
<entry>".21342", ".85"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>hh</literal></entry>
|
|
<entry>"0"?[1-9] | "1"[0-2]</entry>
|
|
<entry>"04", "7", "12"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>HH</literal></entry>
|
|
<entry>[01][0-9] | "2"[0-4]</entry>
|
|
<entry>"04", "07", "19"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>meridian</literal></entry>
|
|
<entry>[AaPp] .? [Mm] .? [\0\t ]</entry>
|
|
<entry>"A.m.", "pM", "am."</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>ii</literal></entry>
|
|
<entry>[0-5]?[0-9]</entry>
|
|
<entry>"04", "8", "59"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>II</literal></entry>
|
|
<entry>[0-5][0-9]</entry>
|
|
<entry>"04", "08", "59"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>M</literal></entry>
|
|
<entry>'jan' | 'feb' | 'mar' | 'apr' | 'may' | 'jun' | 'jul' | 'aug' | 'sep' | 'sept' | 'oct' | 'nov' | 'dec'</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>MM</literal></entry>
|
|
<entry>[0-1][0-9]</entry>
|
|
<entry>"00", "12"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>space</literal></entry>
|
|
<entry>[ \t]</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>ss</literal></entry>
|
|
<entry>[0-5]?[0-9]|60</entry>
|
|
<entry>"04", "8", "59"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>SS</literal></entry>
|
|
<entry>[0-5][0-9]</entry>
|
|
<entry>"04", "08", "59", "60" (segundo intercalar)</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>W</literal></entry>
|
|
<entry>"0"[1-9] | [1-4][0-9] | "5"[0-3]</entry>
|
|
<entry>"05", "17", "53"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>tzcorrection</literal></entry>
|
|
<entry>"GMT"? [+-] <literal>hh</literal> ":"? <literal>II</literal>?</entry>
|
|
<entry>"+0400", "GMT-07:00", "-07:00"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>YY</literal></entry>
|
|
<entry>[0-9]{4}</entry>
|
|
<entry>"2000", "2008", "1978"</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<table>
|
|
<title>Formatos padrões</title>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Descrição</entry>
|
|
<entry>Exemplos</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>ATOM</entry>
|
|
<entry>"2022-06-02T16:58:35+00:00"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>COOKIE</entry>
|
|
<entry>"Thursday, 02-Jun-2022 16:58:35 UTC"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>ISO8601</entry>
|
|
<entry>"2022-06-02T16:58:35+0000"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link xlink:href="&url.rfc;822">RFC 822</link></entry>
|
|
<entry>"Thu, 02 Jun 22 16:58:35 +0000"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link xlink:href="&url.rfc;850">RFC 850</link></entry>
|
|
<entry>"Thursday, 02-Jun-22 16:58:35 UTC"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link xlink:href="&url.rfc;1036">RFC 1036</link></entry>
|
|
<entry>"Thu, 02 Jun 22 16:58:35 +0000"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link xlink:href="&url.rfc;1123">RFC 1123</link></entry>
|
|
<entry>"Thu, 02 Jun 2022 16:58:35 +0000"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link xlink:href="&url.rfc;2822">RFC 2822</link></entry>
|
|
<entry>"Thu, 02 Jun 2022 16:58:35 +0000"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link xlink:href="&url.rfc;3339">RFC 3339</link></entry>
|
|
<entry>"2022-06-02T16:58:35+00:00"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link xlink:href="&url.rfc;3339">RFC 3339</link> Extended</entry>
|
|
<entry>"2022-06-02T16:58:35.698+00:00"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><link xlink:href="&url.rfc;7231">RFC 7231</link></entry>
|
|
<entry>"Thu, 02 Jun 2022 16:58:35 GMT"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>RSS</entry>
|
|
<entry>"Thu, 02 Jun 2022 16:58:35 +0000"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>W3C</entry>
|
|
<entry>"2022-06-02T16:58:35+00:00"</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<table>
|
|
<title>Notações Localizadas</title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Descrição</entry>
|
|
<entry>Formato</entry>
|
|
<entry>Exemplos</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>Formato de Log Popular</entry>
|
|
<entry><literal>dd</literal> "/" <literal>M</literal> "/" <literal>YY</literal> : <literal>HH</literal> ":" <literal>II</literal> ":" <literal>SS</literal> <literal>space</literal> <literal>tzcorrection</literal></entry>
|
|
<entry>"10/Oct/2000:13:55:36 -0700"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>EXIF</entry>
|
|
<entry><literal>YY</literal> ":" <literal>MM</literal> ":" <literal>DD</literal> " " <literal>HH</literal> ":" <literal>II</literal> ":" <literal>SS</literal></entry>
|
|
<entry>"2008:08:07 18:11:31"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ano ISO com Semana ISO</entry>
|
|
<entry><literal>YY</literal> "-"? "W" <literal>W</literal></entry>
|
|
<entry>"2008W27", "2008-W28"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Ano ISO com Semana ISO e dia</entry>
|
|
<entry><literal>YY</literal> "-"? "W" <literal>W</literal> "-"? [0-7]</entry>
|
|
<entry>"2008W273", "2008-W28-3"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>MySQL</entry>
|
|
<entry><literal>YY</literal> "-" <literal>MM</literal> "-" <literal>DD</literal> " " <literal>HH</literal> ":" <literal>II</literal> ":" <literal>SS</literal></entry>
|
|
<entry>"2008-08-07 18:11:31"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>PostgreSQL: Ano com dia do ano</entry>
|
|
<entry><literal>YY</literal> "."? <literal>doy</literal></entry>
|
|
<entry>"2008.197", "2008197"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>SOAP</entry>
|
|
<entry><literal>YY</literal> "-" <literal>MM</literal> "-" <literal>DD</literal> "T" <literal>HH</literal> ":" <literal>II</literal> ":" <literal>SS</literal> <literal>frac</literal> <literal>tzcorrection</literal>?</entry>
|
|
<entry>"2008-07-01T22:35:17.02", "2008-07-01T22:35:17.03+08:00"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Timestamp Unix</entry>
|
|
<entry>"@" "-"? [0-9]+</entry>
|
|
<entry>"@1215282385"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>Timestamp Unix com microssegundos</entry>
|
|
<entry>"@" "-"? [0-9]+ "." [0-9]{0,6}</entry>
|
|
<entry>"@1607974647.503686"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>XMLRPC</entry>
|
|
<entry><literal>YY</literal> <literal>MM</literal> <literal>DD</literal> "T" <literal>hh</literal> ":" <literal>II</literal> ":" <literal>SS</literal></entry>
|
|
<entry>"20080701T22:38:07", "20080701T9:38:07"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>XMLRPC (Compacto)</entry>
|
|
<entry><literal>YY</literal> <literal>MM</literal> <literal>DD</literal> 't' <literal>hh</literal> <literal>II</literal> <literal>SS</literal></entry>
|
|
<entry>"20080701t223807", "20080701T093807"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>WDDX</entry>
|
|
<entry><literal>YY</literal> "-" <literal>mm</literal> "-" <literal>dd</literal> "T" <literal>hh</literal> ":" <literal>ii</literal> ":" <literal>ss</literal></entry>
|
|
<entry>"2008-7-1T9:3:37"</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<note>
|
|
<para>
|
|
O "W" nos formatos "Ano ISO com semana ISO" e "Ano ISO com semana ISO
|
|
e dia" são case-sensitive, você só pode usar o "W"
|
|
maiúsculo.
|
|
</para>
|
|
<para>
|
|
O "T", nos formatos SOAP, XMLRPC e WDDX é case-sensitive, só
|
|
se pode utilizar o "T" maiúsculo.
|
|
</para>
|
|
<para>
|
|
O formato "Timestamp Unix" define o fuso horário para UTC.
|
|
</para>
|
|
</note>
|
|
</sect1>
|
|
<!--}}}-->
|
|
|
|
<!--Relative Formats: {{{-->
|
|
<sect1 annotations="chunk:false" xml:id="datetime.formats.relative">
|
|
<title>Formatos relativos</title>
|
|
<para>
|
|
Esta página descreve os diferentes formatos de data/hora relativos em uma sintaxe BNF,
|
|
que os analisadores de <classname>DateTimeImmutable</classname>,
|
|
<classname>DateTime</classname>, <function>date_create</function>,
|
|
<function>date_create_immutable</function> e
|
|
<function>strtotime</function> entendem.
|
|
</para>
|
|
<para>
|
|
Para formatar objetos <classname>DateTimeImmutable</classname> e
|
|
<classname>DateTime</classname>, favor se referir à documentação
|
|
do método <function>DateTimeInterface::format</function>.
|
|
</para>
|
|
|
|
<table>
|
|
<title>Símbolos Utilizados</title>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>Descrição</entry>
|
|
<entry>Formato</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry><literal>dayname</literal></entry>
|
|
<entry>'sunday' | 'monday' | 'tuesday' | 'wednesday' | 'thursday' |
|
|
'friday' | 'saturday' | 'sun' | 'mon' | 'tue' | 'wed' | 'thu' | 'fri' |
|
|
'sat'</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>daytext</literal></entry>
|
|
<entry>'weekday' | 'weekdays'</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>number</literal></entry>
|
|
<entry>[+-]?[0-9]+</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>ordinal</literal></entry>
|
|
<entry>'first' | 'second' | 'third' | 'fourth' | 'fifth' | 'sixth' |
|
|
'seventh' | 'eighth' | 'ninth' | 'tenth' | 'eleventh' | 'twelfth' |
|
|
'next' | 'last' | 'previous' | 'this'</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>reltext</literal></entry>
|
|
<entry>'next' | 'last' | 'previous' | 'this'</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>space</literal></entry>
|
|
<entry>[ \t]+</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>unit</literal></entry>
|
|
<entry>'ms' | 'µs' | (( 'msec' | 'millisecond' | 'µsec' | 'microsecond'
|
|
| 'usec' | 'sec' | 'second' | 'min' | 'minute' | 'hour' | 'day' |
|
|
'fortnight' | 'forthnight' | 'month' | 'year') 's'?) | 'weeks' |
|
|
<literal>daytext</literal></entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<table>
|
|
<title>Notação baseada no dia</title>
|
|
<tgroup cols="3">
|
|
<thead>
|
|
<row>
|
|
<entry>Formato</entry>
|
|
<entry>Descrição</entry>
|
|
<entry>Examplos</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>'yesterday'</entry>
|
|
<entry>Meia-noite de ontem</entry>
|
|
<entry>"yesterday 14:00"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>'midnight'</entry>
|
|
<entry>A hora é configurada para 00:00:00</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry>'today'</entry>
|
|
<entry>A hora é configurada para 00:00:00</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry>'now'</entry>
|
|
<entry>Agora - isto é simplesmente ignorado</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry>'noon'</entry>
|
|
<entry>A hora é configurada para 12:00:00</entry>
|
|
<entry>"yesterday noon"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>'tomorrow'</entry>
|
|
<entry>Meia-noite de amanhã</entry>
|
|
<entry></entry>
|
|
</row>
|
|
<row>
|
|
<entry>'back of' <literal>hour</literal></entry>
|
|
<entry>15 minutos após a hora informada</entry>
|
|
<entry>"back of 7pm", "back of 15"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>'front of' <literal>hour</literal></entry>
|
|
<entry>15 minutos antes da hora informada</entry>
|
|
<entry>"front of 5am", "front of 23"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>'first day of'</entry>
|
|
<entry>Define o dia para o primeiro dia do mês atual. Essa frase é
|
|
normalmente usada da melhor forma em conjunto com um nome de mês, já que ela somente
|
|
afeta o mês atual.</entry>
|
|
<entry>"first day of January 2008"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>'last day of'</entry>
|
|
<entry>Define o dia para o último do mês corrente. Essa frase é
|
|
normalmente usada da melhor forma em conjunto com um nome de mês, já que ela somente
|
|
afeta o mês atual.</entry>
|
|
<entry>"last day of next month"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>ordinal</literal> <literal>space</literal> <literal>dayname</literal> <literal>space</literal> 'of'</entry>
|
|
<entry>Calcula o número ordinal <literal>x</literal>-th da semana do mês corrente.</entry>
|
|
<entry>"first sat of July 2008"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>'last' <literal>space</literal> <literal>dayname</literal> <literal>space</literal> 'of'</entry>
|
|
<entry>Calcular o <emphasis>último</emphasis> dia da semana do mês corrente.</entry>
|
|
<entry>"last sat of July 2008"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>number</literal> <literal>space</literal>? (<literal>unit</literal> | 'week')</entry>
|
|
<entry>Manipula porções de tempo relativas onde o valor seja um número.</entry>
|
|
<entry>"+5 weeks", "12 day", "-7 weekdays"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>(<literal>ordinal</literal> | <literal>reltext</literal>) <literal>space</literal> <literal>unit</literal></entry>
|
|
<entry>Manipula porções de tempo relativas onde o valor seja um texto.
|
|
<literal>last</literal> e <literal>previous</literal> são equivalentes
|
|
a <literal>-1</literal>, <literal>this</literal> equivalente a nada, e
|
|
<literal>next</literal> equivamente a <literal>+1</literal>.</entry>
|
|
<entry>"fifth day", "second month", "last day", "previous year"</entry>
|
|
</row>
|
|
<row>
|
|
<entry>'ago'</entry>
|
|
<entry>Nega todos os valores das porções de tempo relativas anteriores.</entry>
|
|
<entry>"2 days ago", "8 days ago 14:00", "2 months 5 days ago", "2 months ago 5 days", "2 days ago"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>dayname</literal></entry>
|
|
<entry>
|
|
Move para o próximo dia deste nome.(See <link
|
|
linkend="datetime.formats.relative.dayname-note">note</link>)
|
|
</entry>
|
|
<entry>"Monday"</entry>
|
|
</row>
|
|
<row>
|
|
<entry><literal>reltext</literal> <literal>space</literal> 'week'</entry>
|
|
<entry>Manipula o formato especial "weekday + last/this/next week".</entry>
|
|
<entry>"Monday next week"</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</table>
|
|
|
|
<note>
|
|
<para>
|
|
Declarações relativas são sempre processadas <emphasis>depois</emphasis>
|
|
de declarações não relativas. Isso faz com que "+1 week july 2008" e "july
|
|
2008 +1 week" sejam equivalentes.
|
|
</para>
|
|
<para>
|
|
As exceções desta regra são "yesterday", "midnight", "today", "noon"
|
|
e "tomorrow". Observe que "tomorrow 11:00" e "11:00 tomorrow"
|
|
são diferentes. Considerando que a data hoje como "July 23rd, 2008", o
|
|
primeiro produzirá "2008-07-24 11:00" assim como o segundo produzirá
|
|
"2008-07-24 00:00". Isso acontece por que as cinco declarações
|
|
influenciam diretamente o tempo corrente.
|
|
</para>
|
|
<para>
|
|
Palavras-chave como "first day of" dependem do contexto no qual o
|
|
string de formato relativo é usado. Se usado com um método ou funcão estáticos,
|
|
a referência é o timestamp atual do sistema. Entretanto, se usado em
|
|
<function>DateTime::modify</function> ou
|
|
<function>DateTimeImmutable::modify</function>, a referência é o objeto
|
|
no qual o método <literal>modify()</literal> é chamado.
|
|
</para>
|
|
</note>
|
|
|
|
<note>
|
|
<para xml:id="datetime.formats.relative.dayname-note">
|
|
Observe as seguintes considerações quando o dia da semana corrente é o
|
|
mesmo que o dia da semana utilizada na string date/hora. O dia da semana
|
|
corrente pode ser (re-)calculado para porções não relativas de strings
|
|
de data/hora.
|
|
</para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<simpara>
|
|
"<literal>dayname</literal>" <emphasis>não</emphasis> avança para
|
|
outro dia. (Examplo: "Wed July 23rd, 2008" referencia "2008-07-23").
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
"<literal>number</literal> <literal>dayname</literal>"
|
|
<emphasis>não</emphasis> avança para outro dia. (Exemplo: "1
|
|
wednesday july 23rd, 2008" referencia "2008-07-23").
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
"<literal>number</literal> week <literal>dayname</literal>"
|
|
adicionará primeiro o dia da semana, mas <emphasis>not</emphasis>
|
|
avançará para outro dia. Neste caso, "<literal>number</literal>
|
|
week" e "<literal>dayname</literal>" são dois blocos distintos.
|
|
(Exemplo: "+1 week wednesday july 23rd, 2008" referencia "2008-07-30").
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
"<literal>ordinal</literal> <literal>dayname</literal>"
|
|
<emphasis>avançará</emphasis>para outro dia. (Exemplo "first
|
|
wednesday july 23rd, 2008" referencia "2008-07-30").
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
"<literal>number</literal> week <literal>ordinal</literal>
|
|
<literal>dayname</literal>" adicionará primeiro o número de
|
|
semanas, e então <emphasis>avançará</emphasis> para outro
|
|
dia. Neste caso "<literal>number</literal> week" e
|
|
"<literal>ordinal</literal> <literal>dayname</literal> são dois
|
|
blocos distintos. (Exemplo: "+1 week first wednesday july 23rd,
|
|
2008" referencia "2008-08-06").
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
"<literal>ordinal</literal> <literal>dayname</literal> 'of' "
|
|
<emphasis>não</emphasis> avança para outro dia. (Exemplo:
|
|
"first wednesday of july 23rd, 2008" referencia "2008-07-02" porque
|
|
a frase específica com 'of' redefine o dia do mês para '1' e
|
|
o '23rd' é ignorado).
|
|
</simpara>
|
|
</listitem>
|
|
</orderedlist>
|
|
<para>
|
|
Também observe que o "of" em "<literal>ordinal</literal>
|
|
<literal>space</literal> <literal>dayname</literal>
|
|
<literal>space</literal> 'of' " e "'last' <literal>space</literal>
|
|
<literal>dayname</literal> <literal>space</literal> 'of' " fazem
|
|
coisas especiais.
|
|
</para>
|
|
<orderedlist>
|
|
<listitem>
|
|
<simpara>
|
|
Ele definirá o dia do mês para 1.
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
"<literal>ordinal</literal> <literal>dayname</literal> 'of' "
|
|
<emphasis>não</emphasis> avançará para outro dia. (Exemplo: "first
|
|
tuesday of july 2008" referencia "2008-07-01").
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
"<literal>ordinal</literal> <literal>dayname</literal> "
|
|
<emphasis>avançará</emphasis> para outro dia. (Exemplo: "first
|
|
tuesday july 2008" referencia "2008-07-08", veja também o item 4 na
|
|
lista acima).
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
"'last' <literal>dayname</literal> 'of' " captura o último
|
|
<literal>dayname</literal> do mês corrente. (Exemplo: "last
|
|
wed of july 2008" referencia "2008-07-30")
|
|
</simpara>
|
|
</listitem>
|
|
<listitem>
|
|
<simpara>
|
|
"'last' <literal>dayname</literal>" captura o último
|
|
<literal>dayname</literal> do mês corrente. (Exemplo: "last
|
|
wed july 2008" referencia "2008-06-25"; "july 2008" primeiro definirá a
|
|
data corrente para "2008-07-01" e então "last wed" moverá para a
|
|
última Quarta-feira que será "2008-06-25").
|
|
</simpara>
|
|
</listitem>
|
|
</orderedlist>
|
|
</note>
|
|
<note>
|
|
<para>
|
|
Meses com valores relativos são calculados baseados no tamanho do mês
|
|
passado. Um exemplo seria "+2 month 2011-11-30",que produziria
|
|
"2012-01-30". Isso é devido a Novembro tendo 30 dias como tamanho, e
|
|
Dezembro tendo 31, produzindo um total de 61 dias.
|
|
</para>
|
|
</note>
|
|
<note>
|
|
<para>
|
|
<literal>number</literal> é um número <emphasis>inteiro</emphasis>; se um
|
|
número decimal é informado, o ponto (ou vírgula) provavelmente será interpretado como delimitador.
|
|
Por exemplo, <literal>'+1.5 hours'</literal> é analisado como
|
|
<literal>'+1 5 hours'</literal>, não como <literal>'+1 hour +30 minutes'</literal>.
|
|
</para>
|
|
</note>
|
|
<sect2 role="changelog">
|
|
&reftitle.changelog;
|
|
<para>
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>&Version;</entry>
|
|
<entry>&Description;</entry>
|
|
</row>
|
|
</thead>
|
|
<tbody>
|
|
<row>
|
|
<entry>8.2.0</entry>
|
|
<entry>
|
|
<literal>number</literal> não aceita mais múltiplos sinais,
|
|
ex.: <literal>+-2</literal>.
|
|
</entry>
|
|
</row>
|
|
<row>
|
|
<entry>7.0.8</entry>
|
|
<entry>
|
|
Semanas sempre começam na segunda-feira. Antes, considerava-se que o domingo também poderia
|
|
começar uma semana.
|
|
</entry>
|
|
</row>
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
</sect2>
|
|
</sect1>
|
|
<!--}}}-->
|
|
|
|
</chapter>
|
|
|
|
<!-- 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=marker fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|
|
|