Cadeias de caracteres de formato de data e hora personalizado
Uma cadeia de caracteres de formato de data e hora define a representação de texto de um valor Date, DateTime, DateTimeZone ou Time que resulta de uma operação de formatação. Ela também pode definir a representação de um valor de data e hora necessário em uma operação de análise para converter com êxito a cadeia de caracteres para uma data e hora. Uma cadeia de caracteres de formato personalizado consiste em um ou mais especificadores de formato de data e hora personalizado. Qualquer cadeia de caracteres que não seja uma cadeia de caracteres de formato de data e hora padrão é interpretada como uma cadeia de caracteres de formato de data e hora personalizada.
Em operações de formatação, cadeias de caracteres de formato de data e hora personalizadas podem ser usadas com o ToText
método de uma instância de data e hora e fuso horário. O exemplo a seguir ilustra seus usos.
let
Source =
{
Text.From("Today is " & Date.ToText(#date(2011, 6, 10), [Format = "MMMM dd yyyy"]) & "."),
Text.Format("The current date and time: #{0}", {DateTimeZone.ToText(
#datetimezone(2011, 6, 10, 15, 24, 16, 0, 0), [Format = "MM/dd/yy H:mm:ss zzz"])}
)
}
in
Source
// The example displays the following output:
// Today is June 10, 2011.
// The current date and time: 06/10/11 15:24:16 +00:00
Em operações de análise, cadeias de caracteres de formato de data e hora personalizadas podem ser usadas com as funções Date, DateTime, Time e DateTimeZone . Essas funções exigem que uma cadeia de caracteres de entrada esteja em conformidade exatamente com um padrão específico para que a operação de análise seja bem-sucedida. O exemplo a seguir ilustra uma chamada à função DateTime.FromText para analisar uma data que deve incluir um mês, um dia e um ano de dois dígitos.
let
dateValues = { "30-12-2011", "12-30-2011", "30-12-11", "12-30-11"},
pattern = "MM-dd-yy",
convertedDates = List.Transform(dateValues, (dateValue) =>
try Text.Format("Converted '#{0}' to #{1}.", {dateValue, DateTime.FromText(dateValue, [Format=pattern])})
otherwise Text.Format("Unable to convert '#{0}' to a date and time.", {dateValue}))
in
convertedDates
// The example displays the following output:
// Unable to convert '30-12-2011' to a date and time.
// Unable to convert '12-30-2011' to a date and time.
// Unable to convert '30-12-11' to a date and time.
// Converted '12-30-11' to 12/30/2011.
A tabela a seguir descreve os especificadores de formato de data e hora personalizados e exibe uma cadeia de caracteres de resultado produzida por cada especificador de formato. Por padrão, as cadeias de caracteres de resultado refletem as convenções de formatação da cultura en-US. Se um determinado especificador de formato produz uma cadeia de caracteres de resultado localizada, o exemplo também observa a cultura à qual a cadeia de caracteres de resultado se aplica. Para obter mais informações sobre como usar cadeias de caracteres de formato de data e hora personalizadas, vá para a seção Anotações .
Especificador de formato | Descrição | Exemplos |
---|---|---|
"d" | O dia do mês, de 1 a 31. Mais informações: especificador de formato personalizado "d". |
2009-06-01T13:45:30 –> 1 2009-06-15T13:45:30 –> 15 |
"dd" | O dia do mês, de 01 a 31. Mais informações: O especificador de formato personalizado "dd". |
2009-06-01T13:45:30 –> 01 2009-06-15T13:45:30 –> 15 |
"ddd" | O nome abreviado do dia da semana. Mais informações: O especificador de formato personalizado "ddd". |
2009-06-15T13:45:30 –> Mon (en-US) 2009-06-15T13:45:30 –> Пн (ru-RU) 2009-06-15T13:45:30 –> lun. (fr-FR) |
"dddd" | O nome completo do dia da semana. Mais informações: O especificador de formato personalizado "dddd". |
2009-06-15T13:45:30 –> Monday (en-US) 2009-06-15T13:45:30 –> понедельник (ru-RU) 2009-06-15T13:45:30 –> lundi (fr-FR) |
"f" | Os décimos de segundo em um valor de data e hora. Mais informações: especificador de formato personalizado "f". |
2009-06-15T13:45:30.6170000 –> 6 2009-06-15T13:45:30.05 –> 0 |
"ff" | Os centésimos de segundo em um valor de data e hora. Mais informações: especificador de formato personalizado "ff". |
2009-06-15T13:45:30.6170000 –> 61 2009-06-15T13:45:30.0050000 –> 00 |
"fff" | Os milissegundos em um valor de data e hora. Mais informações: especificador de formato personalizado "fff". |
6/15/2009 13:45:30.617 –> 617 6/15/2009 13:45:30.0005 –> 000 |
"ffff" | Os décimos de milésimos de segundo em um valor de data e hora. Mais informações: especificador de formato personalizado "ffff". |
2009-06-15T13:45:30.6175000 –> 6175 2009-06-15T13:45:30.0000500 –> 0000 |
"fffff" | Os centésimos de milésimos de segundo em um valor de data e hora. Mais informações: especificador de formato personalizado "fffff". |
2009-06-15T13:45:30.6175400 –> 61754 6/15/2009 13:45:30.000005 –> 00000 |
"ffffff" | Os milionésimos de segundo em um valor de data e hora. Mais informações: especificador de formato personalizado "ffffff". |
2009-06-15T13:45:30.6175420 –> 617542 2009-06-15T13:45:30.0000005 –> 000000 |
"fffffff" | Os décimos de milionésimos de segundo em um valor de data e hora. Mais informações: especificador de formato personalizado "fffffff". |
2009-06-15T13:45:30.6175425 –> 6175425 2009-06-15T13:45:30.0001150 –> 0001150 |
"F" | Se diferente de zero, os décimos de segundo em um valor de data e hora. Mais informações: especificador de formato personalizado "F". |
2009-06-15T13:45:30.6170000 –> 6 2009-06-15T13:45:30.0500000 –> (no output) |
"FF" | Se diferente de zero, os centésimos de segundo em um valor de data e hora. Mais informações: especificador de formato personalizado "FF". |
2009-06-15T13:45:30.6170000 –> 61 2009-06-15T13:45:30.0050000 –> (no output) |
"FFF" | Se diferente de zero, os milissegundos em um valor de data e hora. Mais informações: O especificador de formato personalizado "FFF". |
2009-06-15T13:45:30.6170000 –> 617 2009-06-15T13:45:30.0005000 –> (no output) |
"FFFF" | Se diferente de zero, os décimos de milésimos de segundo em um valor de data e hora. Mais informações: especificador de formato personalizado "FFFF". |
2009-06-15T13:45:30.5275000 –> 5275 2009-06-15T13:45:30.0000500 –> (no output) |
"FFFFF" | Se diferente de zero, os centésimos de milésimos de segundo em um valor de data e hora. Mais informações: especificador de formato personalizado "FFFF". |
2009-06-15T13:45:30.6175400 –> 61754 2009-06-15T13:45:30.0000050 –> (no output) |
"FFFFFF" | Se diferente de zero, os milionésimos de segundo em um valor de data e hora. Mais informações: especificador de formato personalizado "FFFFFF". |
2009-06-15T13:45:30.6175420 –> 617542 2009-06-15T13:45:30.0000005 –> (no output) |
"FFFFFFF" | Se diferente de zero, os décimos de milionésimos de segundo em um valor de data e hora. Mais informações: especificador de formato personalizado "FFFFFF". |
2009-06-15T13:45:30.6175425 –> 6175425 2009-06-15T13:45:30.0001150 –> 000115 |
"g", "gg" | O período ou a era. Mais informações: O especificador de formato personalizado "g" ou "gg". |
2009-06-15T13:45:30.6170000 –> A.D. |
"h" | A hora, usando um relógio de 12 horas de 1 a 12. Mais informações: especificador de formato personalizado "h". |
2009-06-15T01:45:30 –> 1 2009-06-15T13:45:30 –> 1 |
"hh" | A hora, usando um relógio de 12 horas de 01 a 12. Mais informações: especificador de formato personalizado "hh". |
2009-06-15T01:45:30 –> 01 2009-06-15T13:45:30 –> 01 |
"H" | A hora, usando um relógio de 24 horas de 0 a 23. Mais informações: O especificador de formato personalizado "H". |
2009-06-15T01:45:30 –> 1 2009-06-15T13:45:30 –> 13 |
"HH" | A hora, usando um relógio de 24 horas de 00 a 23. Mais informações: O especificador de formato personalizado "HH". |
2009-06-15T01:45:30 –> 01 2009-06-15T13:45:30 –> 13 |
"K" | Informações de fuso horário. Mais informações: O especificador de formato personalizado "K". |
2009-06-15T13:45:30, Não especificado -> 2009-06-15T13:45:30, UTC -> +00:00 2009-06-15T13:45:30, Local -> -07:00 (depende das configurações do computador local ou na nuvem) |
"m" | O minuto, de 0 a 59. Mais informações: especificador de formato personalizado "m". |
2009-06-15T01:09:30 –> 9 2009-06-15T13:29:30 –> 29 |
"mm" | O minuto, de 00 a 59. Mais informações: especificador de formato personalizado "mm". |
2009-06-15T01:09:30 –> 09 2009-06-15T01:45:30 –> 45 |
“M” | O mês, de 1 a 12. Mais informações: O especificador de formato personalizado "M". |
2009-06-15T13:45:30 –> 6 |
"MM" | O mês, de 01 a 12. Mais informações: O especificador de formato personalizado "MM". |
2009-06-15T13:45:30 –> 06 |
"MMM" | O nome do mês abreviado. Mais informações: O especificador de formato personalizado "MMM". |
2009-06-15T13:45:30 –> Jun (en-US) 2009-06-15T13:45:30 –> juin (fr-FR) 2009-06-15T13:45:30 –> Jun (zu-ZA) |
"MMMM" | O nome completo do mês. Mais informações: O especificador de formato personalizado "MMMM". |
2009-06-15T13:45:30 –> June (en-US) 2009-06-15T13:45:30 –> juni (da-DK) 2009-06-15T13:45:30 -> Juni (zu-ZA) |
"s" | O segundo, de 0 a 59. Mais informações: especificador de formato personalizado "s". |
2009-06-15T13:45:09 –> 9 |
"ss" | O segundo, de 00 a 59. Mais informações: especificador de formato personalizado "ss". |
2009-06-15T13:45:09 –> 09 |
"t" | O primeiro caractere do designador AM/PM. Mais informações: O especificador de formato personalizado "t". |
2009-06-15T13:45:30 –> P (en-US) 2009-06-15T13:45:30 –> 午 (ja-JP) 2009-06-15T13:45:30 –> (fr-FR) |
"tt" | O designador AM/PM. Mais informações: O especificador de formato personalizado "tt". |
2009-06-15T13:45:30 –> PM (en-US) 2009-06-15T13:45:30 –> 午後 (ja-JP) 2009-06-15T13:45:30 –> (fr-FR) |
"y" | O ano, de 0 a 99. Mais informações: O especificador de formato personalizado "y". |
0001-01-01T00:00:00 –> 1 0900-01-01T00:00:00 –> 0 1900-01-01T00:00:00 –> 0 2009-06-15T13:45:30 –> 9 2019-06-15T13:45:30 –> 19 |
"yy" | O ano, de 00 a 99. Mais informações: O especificador de formato personalizado "yy". |
0001-01-01T00:00:00 –> 01 0900-01-01T00:00:00 –> 00 1900-01-01T00:00:00 –> 00 2019-06-15T13:45:30 –> 19 |
"yyy" | O ano, com um mínimo de três dígitos. Mais informações: O especificador de formato personalizado "yyy". |
0001-01-01T00:00:00 –> 001 0900-01-01T00:00:00 –> 900 1900-01-01T00:00:00 –> 1900 2009-06-15T13:45:30 –> 2009 |
"yyyy" | O ano como um número de quatro dígitos. Para obter mais informações: O especificador de formato personalizado "aaaa". |
0001-01-01T00:00:00 –> 0001 0900-01-01T00:00:00 –> 0900 1900-01-01T00:00:00 –> 1900 2009-06-15T13:45:30 –> 2009 |
"yyyyy" | O ano como um número de cinco dígitos. Mais informações: O especificador de formato personalizado "aaaaa". |
0001-01-01T00:00:00 –> 00001 2009-06-15T13:45:30 –> 02009 |
"z" | Diferença de horas em relação ao UTC, sem zeros à esquerda. Mais informações: O especificador de formato personalizado "z". |
2009-06-15T13:45:30-07:00 –> –7 |
"zz" | Diferença de horas em relação ao UTC, com um zero à esquerda para um valor de dígito único. Mais informações: O especificador de formato personalizado "zz". |
2009-06-15T13:45:30-07:00 –> –07 |
"zzz" | Diferença de horas e minutos em relação ao UTC. Mais informações: O especificador de formato personalizado "zzz". |
2009-06-15T13:45:30-07:00 –> –07:00 |
":" | O separador de hora. Mais informações: O especificador de formato personalizado ":". |
2009-06-15T13:45:30 –> : (en-US) 2009-06-15T13:45:30 –> . (it-IT) 2009-06-15T13:45:30 –> : (ja-JP) |
"/" | O separador de data. Mais informações: O especificador de formato personalizado "/". |
2009-06-15T13:45:30 –> / (en-US) 2009-06-15T13:45:30 –> – (ar-DZ) 2009-06-15T13:45:30 –> . (tr-TR) |
"string" 'string' |
Delimitador de cadeia de caracteres literal. Para saber mais: Literais de cadeia de caracteres. |
2009-06-15T13:45:30 (""arr:"" h:m t) -> arr: 1:45 P 2009-06-15T13:45:30 ('arr:' h:m t) –> arr: 1:45 P |
% | Define o caractere seguinte como um especificador de formato personalizado. Mais informações: Usando especificadores de formato personalizado únicos. |
2009-06-15T13:45:30 (%h) –> 1 |
\, "", ' | As sequências de fuga. Mais informações: Literais de caractere e Usando as sequências de escape. |
2009-06-15T13:45:30 (h \h) –> 1 h 2009-06-15T13:45:30 (h ""h"") -> 1 h 2009-06-15T13:45:30 (h 'h') -> 1 h |
Qualquer outro caractere | O caractere é copiado, inalterado, para a cadeia de caracteres de resultado. Para saber mais: Literais de cadeia de caracteres. |
2009-06-15T01:45:30 (arr hh:mm t) –> arr 01:45 A |
As seções a seguir oferecem informações adicionais sobre cada especificador de formato de data e hora personalizado. A menos que indicado de outra forma, cada especificador produz uma representação de cadeia de caracteres idêntica, independentemente de ser usada com um valor Date, DateTime, DateTimeZone ou Time.
Especificador de formato de dia “d”
Especificador de formato personalizado "d"
O especificador de formato personalizado "d" representa o dia do mês como um número de 1 a 31. Dias de dígito único são formatados sem um zero à esquerda.
Se o especificador de formato "d" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "d". Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
O exemplo a seguir inclui o especificador de formato personalizado "d" em várias cadeias de caracteres de formato.
let
Source =
{
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "d, M", Culture = ""]),
// Displays 29, 8
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "d, MMMM", Culture = "en-US"]),
// Displays 29, August
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "d, MMMM", Culture = "es-MX"])
// Displays 29, agosto
}
in
Source
Especificador de formato personalizado "dd"
A cadeia de caracteres de formato personalizado "dd" representa o dia do mês como um número de 01 a 31. Dias de dígito único são formatados com um zero à esquerda.
O exemplo a seguir inclui o especificador de formato personalizado "dd" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 1, 2, 6, 30, 15), [Format = "dd, MM", Culture = ""])
// Displays 02, 01
}
in
Source
Especificador de formato personalizado "ddd"
O especificador de formato personalizado "ddd" representa o nome do dia da semana abreviado. O nome abreviado localizado do dia da semana é recuperado da cultura atual ou especificada.
O exemplo a seguir inclui o especificador de formato personalizado "ddd" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "ddd d MMM", Culture = "en-US"]),
// Displays Thu 29 Aug
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "ddd d MMM", Culture = "fr-FR"])
// Displays jeu. 29 août
}
in
Source
Especificador de formato personalizado "dddd"
O especificador de formato personalizado "dddd" (mais um número qualquer de especificadores "d" adicionais) representa o nome completo do dia da semana. O nome localizado do dia da semana é recuperado da cultura atual ou especificada.
O exemplo a seguir inclui o especificador de formato personalizado "dddd" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "dddd dd MMMM", Culture = "en-US"]),
// Displays Thursday 29 August
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "dddd dd MMMM", Culture = "it-IT"])
// Displays giovedì 29 agosto
}
in
Source
Especificador de fração “f” de segundos em minúsculas
Especificador de formato personalizado "f"
O especificador de formato personalizado "f" representa o dígito mais significativo da fração de segundos, ou seja, representa os décimos de segundo em um valor de data e hora.
Se o especificador de formato "f" for usado sem outros especificadores de formato, ele será interpretado como o especificador padrão de formato de data e hora "f". Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
Quando você usa especificadores de formato "f" como parte de uma cadeia de caracteres de formato fornecida para analisar o número de segundos fracionários, o número de especificadores de formato "f" indica o número de dígitos mais significativos da fração de segundos que devem estar presentes para analisar a cadeia de caracteres com êxito.
O exemplo a seguir inclui o especificador de formato personalizado "f" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:f", Culture = ""]),
// Displays 07:27:15:0
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:F", Culture = ""])
// Displays 07:27:15:
}
in
Source
Especificador de formato personalizado "ff"
O especificador de formato personalizado "ff" representa os dois dígitos mais significativos da fração de segundos, ou seja, ele representa os centésimos de segundo em um valor de data e hora.
O exemplo a seguir inclui o especificador de formato personalizado "ff" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:ff", Culture = ""]),
// Displays 07:27:15:01
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:FF", Culture = ""])
// Displays 07:27:15:01
}
in
Source
Especificador de formato personalizado "fff"
O especificador de formato personalizado "fff" representa os três dígitos mais significativos da fração de segundos, ou seja, ele representa os milissegundos em um valor de data e hora.
O exemplo a seguir inclui o especificador de formato personalizado "fff" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:fff", Culture = ""]),
// Displays 07:27:15:018
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:FFF", Culture = ""])
// Displays 07:27:15:018
}
in
Source
Especificador de formato personalizado "ffff"
O especificador de formato personalizado "ffff" representa os quatro dígitos mais significativos da fração de segundos, ou seja, ele representa os décimos de milésimos de um segundo em um valor de data e hora.
Embora seja possível exibir o componente de dez milésimos de segundo de um valor de tempo, esse valor pode não ser significativo. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
Especificador de formato personalizado "fffff"
O especificador de formato personalizado "fffff" representa os cinco dígitos mais significativos da fração de segundos, ou seja, ele representa os centésimos de milésimos de um segundo em um valor de data e hora.
Embora seja possível exibir o componente centésimos de milésimos de segundo de um valor de tempo, esse valor pode não ser significativo. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
Especificador de formato personalizado "ffffff"
O especificador de formato personalizado "ffffff" representa os seis dígitos mais significativos da fração de segundos, ou seja, ele representa os milionésimos de um segundo em um valor de data e hora.
Embora seja possível exibir os milionésimos de um segundo componente de um valor de tempo, esse valor pode não ser significativo. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
Especificador de formato personalizado "fffffff"
O especificador de formato personalizado "fffffff" representa os sete dígitos mais significativos da fração de segundos; ou seja, representa os décimos de milionésimos de segundo em um valor de data e hora.
Embora seja possível exibir os dez milionésimos de segundo componente de um valor de tempo, esse valor pode não ser significativo. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
Especificador de fração “f” de segundos em maiúsculas
Especificador de formato personalizado "F"
O especificador de formato personalizado "F" representa o dígito mais significativo da fração de segundos, ou seja, representa os décimos de segundo em um valor de data e hora. Nada será exibido se o dígito for zero e o ponto decimal que segue o número de segundos também não for exibido.
Se o especificador de formato "F" for usado sem outros especificadores de formato, ele será interpretado como o especificador padrão de formato de data e hora "F". Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
O número de especificadores de formato "F" usados durante a análise indica o número máximo de dígitos mais significativos da fração de segundos que podem estar presentes para analisar com êxito a cadeia de caracteres.
O exemplo a seguir inclui o especificador de formato personalizado "F" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:f", Culture = ""]),
// Displays 07:27:15:0
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:F", Culture = ""])
// Displays 07:27:15:
}
in
Source
Especificador de formato personalizado "FF"
O especificador de formato personalizado "FF" representa os dois dígitos mais significativos da fração de segundos, ou seja, ele representa os centésimos de segundo em um valor de data e hora. Zeros à direita não são exibidos. Nada será exibido se os dois dígitos significativos forem zero e, nesse caso, o ponto decimal que segue o número de segundos também não for exibido.
O exemplo a seguir inclui o especificador de formato personalizado "FF" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:ff", Culture = ""]),
// Displays 07:27:15:01
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:FF", Culture = ""])
// Displays 07:27:15:01
}
in
Source
Especificador de formato personalizado "FFF"
O especificador de formato personalizado "FFF" representa os três dígitos mais significativos da fração de segundos, ou seja, ele representa os milissegundos em um valor de data e hora. Zeros à direita não são exibidos. Nada será exibido se os três dígitos significativos forem zero e, nesse caso, o ponto decimal que segue o número de segundos também não for exibido.
O exemplo a seguir inclui o especificador de formato personalizado "FFF" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:fff", Culture = ""]),
// Displays 07:27:15:018
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15.018), [Format = "hh:mm:ss:FFF", Culture = ""])
// Displays 07:27:15:018
}
in
Source
Especificador de formato personalizado "FFFF"
O especificador de formato personalizado "FFFF" representa os quatro dígitos mais significativos da fração de segundos, ou seja, ele representa os décimos de milésimos de um segundo em um valor de data e hora. Zeros à direita não são exibidos. Nada será exibido se os quatro dígitos significativos forem zero e, nesse caso, o ponto decimal que segue o número de segundos também não for exibido.
Embora seja possível exibir o componente de dez milésimos de segundo de um valor de tempo, esse valor pode não ser significativo. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
Especificador de formato personalizado "FFFFF"
O especificador de formato personalizado "FFFFF" representa os cinco dígitos mais significativos da fração de segundos, ou seja, ele representa os centésimos de milésimos de um segundo em um valor de data e hora. Zeros à direita não são exibidos. Nada será exibido se os cinco dígitos significativos forem zero e, nesse caso, o ponto decimal que segue o número de segundos também não for exibido.
Embora seja possível exibir o componente centésimos de milésimos de segundo de um valor de tempo, esse valor pode não ser significativo. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
Especificador de formato personalizado "FFFFFF"
O especificador de formato personalizado "FFFFFF" representa os seis dígitos mais significativos da fração de segundos, ou seja, ele representa os milionésimos de um segundo em um valor de data e hora. Zeros à direita não são exibidos. Nada será exibido se os seis dígitos significativos forem zero e, nesse caso, o ponto decimal que segue o número de segundos também não for exibido.
Embora seja possível exibir os milionésimos de um segundo componente de um valor de tempo, esse valor pode não ser significativo. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
Especificador de formato personalizado "FFFFFFF"
O especificador de formato personalizado "FFFFFFF" representa os sete dígitos mais significativos da fração de segundos; ou seja, representa os décimos de milionésimos de segundo em um valor de data e hora. Zeros à direita não são exibidos. Nada será exibido se os sete dígitos significativos forem zero e, nesse caso, o ponto decimal que segue o número de segundos também não for exibido.
Embora seja possível exibir os dez milionésimos de segundo componente de um valor de tempo, esse valor pode não ser significativo. A precisão dos valores de data e hora depende da resolução do relação ao relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
Especificador de formato incorreto “g” era
Especificador de formato personalizado "g" ou "gg"
Os especificadores de formato personalizado “g” ou “gg” (mais qualquer número de especificadores “g” adicionais) representam o período ou era, como A.D. A operação de formatação ignorará esse especificador se a data a ser formatada não tiver um período ou uma cadeia de caracteres de era associada.
Se o especificador de formato "g" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "g". Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
O exemplo a seguir inclui o especificador de formato personalizado "g" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
Date.ToText(#date(70, 08, 04), [Format = "MM/dd/yyyy g", Culture = ""]),
// Displays 08/04/0070 A.D.
Date.ToText(#date(70, 08, 04), [Format = "MM/dd/yyyy g", Culture = "fr-FR"])
// Displays 08/04/0070 ap. J.-C.
}
in
Source
Especificador de formato “h” de hora em minúsculas
Especificador de formato personalizado "h"
O especificador de formato personalizado "h" representa a hora como um número de 1 a 12, ou seja, a hora é representada por um relógio de 12 horas que conta todas as horas desde a meia-noite. Uma hora específica após a meia-noite é indistinguível da mesma hora depois do meio-dia. A hora não é arredondada e uma hora de um dígito é formatada sem um zero à esquerda. Por exemplo, considerando a hora 5:43 da manhã ou da tarde, este especificador de formato personalizado exibe “5".
Se o especificador de formato "h" for usado sem outros especificadores de formato personalizados, ele será interpretado como um especificador de formato de data e hora padrão e gerará um erro de expressão. Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
O exemplo a seguir inclui o especificador de formato personalizado "h" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = ""]),
// Displays 6:9:1 P
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = "el-GR"]),
// Displays 6:9:1 μ
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = ""]),
// Displays 9:18:1.5 A
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = "el-GR"])
// Displays 9:18:1.5 π
}
in
Source
Especificador de formato personalizado "hh"
O especificador de formato personalizado "hh" (mais qualquer número de especificadores "h" adicionais) representa a hora como um número de 01 a 12, ou seja, a hora é representada por um relógio de 12 horas que conta todas as horas desde a meia-noite ou o meio-dia. Uma hora específica após a meia-noite é indistinguível da mesma hora depois do meio-dia. A hora não é arredondada e uma hora de um dígito é formatada com um zero à esquerda. Por exemplo, considerando a hora 5:43 da manhã ou da tarde, este especificador de formato exibe “05".
O exemplo a seguir inclui o especificador de formato personalizado "hh" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = ""]),
// Displays 06:09:01 PM
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = "hu-HU"]),
// Displays 06:09:01 du.
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = ""]),
// Displays 09:18:01.50 AM
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = "hu-HU"])
// Displays 09:18:01.50 de.
}
in
Source
Especificador de formato “h” de hora em maiúsculas
Especificador de formato personalizado "H"
O especificador de formato personalizado "H" representa a hora como um número de 0 a 23; ou seja, a hora é representada por um relógio de 24 horas baseado em zero que conta todas as horas desde a meia-noite. Uma hora de dígito único é formatada sem um zero à esquerda.
Se o especificador de formato "H" for usado sem outros especificadores de formato personalizados, ele será interpretado como um especificador de formato de data e hora padrão e gerará um erro de expressão. Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
O exemplo a seguir inclui o especificador de formato personalizado "H" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 1, 1, 6, 9, 1), [Format = "H:mm:ss", Culture = ""])
// Displays 6:09:01
}
in
Source
Especificador de formato personalizado "HH"
O especificador de formato personalizado "HH" (mais qualquer número de especificadores "H" adicionais) representa a hora como um número de 00 a 23; ou seja, a hora é representada por um relógio de 24 horas baseado em zero que conta todas as horas desde a meia-noite. Uma hora de dígito único é formatada com um zero à esquerda.
O exemplo a seguir inclui o especificador de formato personalizado "HH" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 1, 1, 6, 9, 1), [Format = "HH:mm:ss", Culture = ""])
// Displays 06:09:01
}
in
Source
Especificador de formato “K” de fuso horário
Especificador de formato personalizado "K"
O especificador de formato personalizado "K" representa as informações de fuso horário de um valor temporal. Quando esse especificador de formato é usado com valores DateTimeZone , a cadeia de caracteres resultante é definida como:
Para o fuso horário local, esse especificador produz uma cadeia de caracteres de resultado contendo o deslocamento local do UTC (Tempo Universal Coordenado), por exemplo, "-07:00", se a consulta for executada no Power Query Desktop. Se a consulta for executada no Power Query Online, a cadeia de caracteres resultante não produzirá nenhum deslocamento da hora UTC, ou seja, "+00:00".
Para um horário UTC, a cadeia de caracteres de resultado não produz nenhum deslocamento do horário UTC; ou seja, "+00:00 para representar uma data UTC.
Para um horário de um fuso horário não especificado, o resultado está vazio.
Se o especificador de formato "K" for usado sem outros especificadores de formato personalizados, ele será interpretado como um especificador de formato de data e hora padrão e gerará um erro de expressão. Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
O exemplo a seguir exibe a cadeia de caracteres resultante do uso do especificador de formato personalizado "K" com vários valores em um sistema no fuso horário do Pacífico dos EUA.
let
Source =
{
DateTimeZone.ToText(DateTimeZone.LocalNow(),[Format="%K"]),
// Displays -07:00 (Desktop) or +00:00 (Online)
DateTimeZone.ToText(DateTimeZone.UtcNow(),[Format="%K"]),
// Displays +00:00
Text.Format("'#{0}'", {DateTime.ToText(DateTime.LocalNow(),[Format="%K"])})
// Displays ''
}
in
Source
Observação
O valor retornado por DateTimeZone.LocalNow depende se você está executando o Power Query em um computador local ou online. Por exemplo, no exemplo acima em um sistema no fuso horário do Pacífico dos EUA, Power Query Desktop retorna -07:00
porque está lendo a hora definida em seu computador local. No entanto, Power Query Online retorna +00:00
porque está lendo o tempo definido nas máquinas virtuais na nuvem, que são definidas como UTC.
Especificador de formato “m” de minuto
Especificador de formato personalizado "m"
O especificador de formato personalizado "m" representa o minuto como um número de 0 a 59. O minuto representa os minutos inteiros decorridos desde a última hora. Um minuto de dígito único é formatado sem um zero à esquerda.
Se o especificador de formato "m" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "m". Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
O exemplo a seguir inclui o especificador de formato personalizado "m" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = ""]),
// Displays 6:9:1 P
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = "el-GR"]),
// Displays 6:9:1 μ
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = ""]),
// Displays 9:18:1.5 A
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = "el-GR"])
// Displays 9:18:1.5 π
}
in
Source
Especificador de formato personalizado "mm"
O especificador de formato personalizado "mm" (mais qualquer número de especificadores "m" adicionais) representa o minuto como um número de 00 a 59. O minuto representa os minutos inteiros decorridos desde a última hora. Um minuto de dígito único é formatado com um zero à esquerda.
O exemplo a seguir inclui o especificador de formato personalizado "mm" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = ""]),
// Displays 06:09:01 PM
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = "hu-HU"]),
// Displays 06:09:01 du.
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = ""]),
// Displays 09:18:01.50 AM
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = "hu-HU"])
// Displays 09:18:01.50 de.
}
in
Source
Especificador de formato “M” de mês
Especificador de formato personalizado "M"
O especificador de formato personalizado "M" representa o mês como um número de 1 a 12 (ou de 1 a 13 para os calendários com 13 meses). Um mês de dígito único é formatado sem um zero à esquerda.
Se o especificador de formato "M" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "M". Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
O exemplo a seguir inclui o especificador de formato personalizado "M" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
Date.ToText(#date(2024, 8, 18), [Format = "(M) MMM, MMMM", Culture = "en-US"]),
// Displays (8) Aug, August
Date.ToText(#date(2024, 8, 18), [Format = "(M) MMM, MMMM", Culture = "nl-NL"]),
// Displays (8) aug, augustus
Date.ToText(#date(2024, 8, 18), [Format = "(M) MMM, MMMM", Culture = "lv-LV"])
// Displays (8) aug., augusts
}
in
Source
Especificador de formato personalizado "MM"
O especificador de formato personalizado "MM" representa o mês como um número de 01 a 12 (ou de 01 a 13 para os calendários com 13 meses). Um mês de dígito único é formatado com um zero à esquerda.
O exemplo a seguir inclui o especificador de formato personalizado "MM" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 1, 2, 6, 30, 15), [Format = "dd, MM", Culture = ""])
// Displays 02, 01
}
in
Source
Especificador de formato personalizado "MMM"
O especificador de formato personalizado "MMM" representa o nome do mês abreviado. O nome abreviado localizado do mês é recuperado dos nomes de mês abreviados da cultura atual ou especificada. Se houver um especificador de formato personalizado "d" ou "dd" na cadeia de caracteres de formato personalizado, o nome do mês será recuperado dos nomes genitivos abreviados.
O exemplo a seguir inclui o especificador de formato personalizado "MMM" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "ddd d MMM", Culture = "en-US"]),
// Displays Thu 29 Aug
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "ddd d MMM", Culture = "fr-FR"])
// Displays jeu. 29 août
}
in
Source
Especificador de formato personalizado "MMMM"
O especificador de formato personalizado "MMMM" representa o nome do mês completo. O nome localizado do mês é recuperado da cultura atual ou especificada. Se houver um especificador de formato personalizado "d" ou "dd" na cadeia de caracteres de formato personalizado, o nome do mês será recuperado dos nomes genitivos abreviados.
O exemplo a seguir inclui o especificador de formato personalizado "MMMM" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "dddd dd MMMM", Culture = "en-US"]),
// Displays Thursday 29 August
DateTime.ToText(#datetime(2024, 8, 29, 19, 27, 15), [Format = "dddd dd MMMM", Culture = "it-IT"])
// Displays giovedì 29 agosto
}
in
Source
Especificador de formato “s” de segundos
Especificador de formato personalizado "s"
O especificador de formato personalizado "s" representa os segundos como um número de 0 a 59. O resultado representa os segundos inteiros decorridos desde o último minuto. Um segundo de dígito único é formatado sem um zero à esquerda.
Se o especificador de formato "s" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "s". Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
O exemplo a seguir inclui o especificador de formato personalizado "s" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = ""]),
// Displays 6:9:1 P
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = "el-GR"]),
// Displays 6:9:1 μ
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = ""]),
// Displays 9:18:1.5 A
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = "el-GR"])
// Displays 9:18:1.5 π
}
in
Source
Especificador de formato personalizado "ss"
O especificador de formato personalizado "ss" (mais qualquer número de especificadores "s" adicionais) representa os segundos como um número de 00 a 59. O resultado representa os segundos inteiros decorridos desde o último minuto. Um segundo de dígito único é formatado com um zero à esquerda.
O exemplo a seguir inclui o especificador de formato personalizado "ss" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = ""]),
// Displays 06:09:01 PM
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = "hu-HU"]),
// Displays 06:09:01 du.
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = ""]),
// Displays 09:18:01.50 AM
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = "hu-HU"])
// Displays 09:18:01.50 de.
}
in
Source
Especificador de formato “t” de meridiano
Especificador de formato personalizado "t"
O especificador de formato personalizado "t" representa o primeiro caractere do designador AM/PM. O designador localizado apropriado é recuperado da cultura atual ou específica. O designador AM é usado para todas as horas de 0:00:00 (meia-noite) até 11:59:59,999. O designador PM é usado para todas as horas de 12:00:00 (meio-dia) até 23:59:59,999.
Se o especificador de formato "t" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "t". Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
O exemplo a seguir inclui o especificador de formato personalizado "t" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = ""]),
// Displays 6:9:1 P
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "h:m:s.F t", Culture = "el-GR"]),
// Displays 6:9:1 μ
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = ""]),
// Displays 9:18:1.5 A
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "h:m:s.F t", Culture = "el-GR"])
// Displays 9:18:1.5 π
}
in
Source
Especificador de formato personalizado "tt"
O especificador de formato personalizado "tt" (mais qualquer número de especificadores "t" adicionais) representa o designador AM/PM inteiro. O designador localizado apropriado é recuperado da cultura atual ou específica. O designador AM é usado para todas as horas de 0:00:00 (meia-noite) até 11:59:59,999. O designador PM é usado para todas as horas de 12:00:00 (meio-dia) até 23:59:59,999.
Certifique-se de usar o especificador "tt" para linguagens para as quais é necessário manter a distinção entre AM e PM. Um exemplo é o idioma japonês, no qual os designadores AM e PM diferem no segundo caractere e não no primeiro.
O exemplo a seguir inclui o especificador de formato personalizado "tt" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = ""]),
// Displays 06:09:01 PM
DateTime.ToText(#datetime(2024, 1, 1, 18, 9, 1), [Format = "hh:mm:ss tt", Culture = "hu-HU"]),
// Displays 06:09:01 du.
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = ""]),
// Displays 09:18:01.50 AM
DateTime.ToText(#datetime(2024, 1, 1, 9, 18, 1.500), [Format = "hh:mm:ss.ff tt", Culture = "hu-HU"])
// Displays 09:18:01.50 de.
}
in
Source
Especificador de formato “y” de ano
Especificador de formato personalizado "y"
O especificador de formato personalizado "y" representa o ano como um número de um dígito ou de dois dígitos. Se o ano tiver mais que dois dígitos, somente os dois dígitos de ordem baixa aparecerão no resultado. Se o primeiro dígito de um ano de dois dígitos começa com zero (por exemplo, 2008), o número é formatado sem um zero à esquerda.
Se o especificador de formato "y" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão "y". Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
O exemplo a seguir inclui o especificador de formato personalizado "y" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
Date.ToText(#date(1, 12, 1), [Format = "%y"]),
// Displays 1
Date.ToText(#date(2024, 1, 1), [Format = "%y"])
// Displays 24
}
in
Source
Especificador de formato personalizado "yy"
O especificador de formato personalizado "yy" representa o ano como um número de dois dígitos. Se o ano tiver mais que dois dígitos, somente os dois dígitos de ordem baixa aparecerão no resultado. Se o ano de dois dígitos tiver menos de dois dígitos significativos, o número será preenchido com zeros à esquerda para produzir dois dígitos.
Em uma operação de análise, um ano de dois dígitos que é analisado usando o especificador de formato personalizado "yy" é interpretado com base no calendário atual do provedor de formato. O exemplo a seguir analisa a representação de cadeia de caracteres de uma data com um ano de dois dígitos usando o calendário gregoriano padrão da cultura en-US que, neste caso, é a cultura atual. Os valores retornados para a data de quatro dígitos dependem do intervalo de 100 anos definido pelo sistema operacional.
let
// Define the date format and value
fmt = "dd-MMM-yy",
// Convert year 49 to a 4-digit year
firstDate = Text.Format("#{0}", { Date.FromText("24-Jan-49", [Format = fmt]) }),
// Convert year 50 to a 4-digit year
finalDate = Text.Format("#{0}", { Date.FromText("24-Jan-50", [Format = fmt]) }),
Heading = "Default Two Digit Year Range: 1950 - 2049",
result = {Heading, firstDate, finalDate}
in
result
// The example displays the following output:
// Default Two Digit Year Range: 1950 - 2049
// 1/24/2049
// 1/24/1950
O exemplo a seguir inclui o especificador de formato personalizado "yy" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
Date.ToText(#date(1, 12, 1), [Format = "yy"]),
// Displays 01
Date.ToText(#date(2024, 1, 1), [Format = "yy"])
// Displays 24
}
in
Source
Especificador de formato personalizado "yyy"
O especificador de formato personalizado "yyy" representa o ano com, no mínimo, três dígitos. Se o ano tem mais de três dígitos significativos, eles são incluídos na cadeia de caracteres de resultado. Se o ano tem menos de três dígitos, o número é preenchido com zeros à esquerda para produzir três dígitos.
Observação
Para o calendário budista tailandês, que pode ter anos com cinco dígitos, este especificador de formato exibe todos os dígitos significativos.
O exemplo a seguir inclui o especificador de formato personalizado "yyy" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
Date.ToText(#date(1, 12, 1), [Format = "yyy"]),
// Displays 001
Date.ToText(#date(2024, 1, 1), [Format = "yyy"])
// Displays 2024
}
in
Source
Especificador de formato personalizado "yyyy"
O especificador de formato personalizado "yyyy" representa o ano com, no mínimo, quatro dígitos. Se o ano tem mais de quatro dígitos significativos, eles são incluídos na cadeia de caracteres de resultado. Se o ano possui menos de quatro dígitos, o número é preenchido com zeros à esquerda para produzir quatro dígitos.
Observação
Para o calendário budista tailandês, que pode ter anos de cinco dígitos, este especificador de formato exibe no mínimo quatro dígitos.
O exemplo a seguir inclui o especificador de formato personalizado "yyyy" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
Date.ToText(#date(1, 12, 1), [Format = "yyyy"]),
// Displays 0001
Date.ToText(#date(2024, 1, 1), [Format = "yyyy"])
// Displays 2024
}
in
Source
Especificador de formato personalizado "yyyyy"
O especificador de formato personalizado "yyyyy" (mais qualquer número de especificadores "y" adicionais) representa o ano com, no mínimo, cinco dígitos. Se o ano tem mais de cinco dígitos significativos, eles são incluídos na cadeia de caracteres de resultado. Se o ano tem menos de cinco dígitos, o número é preenchido com zeros à esquerda para produzir cinco dígitos.
Se houver especificadores "y" adicionais, o número será preenchido com tantos zeros à esquerda quantos forem necessários para produzir o número de especificadores "y".
O exemplo a seguir inclui o especificador de formato personalizado "yyyyy" em uma cadeia de caracteres de formato personalizado.
let
Source =
{
Date.ToText(#date(1, 12, 1), [Format = "yyyyy"]),
// Displays 00001
Date.ToText(#date(2024, 1, 1), [Format = "yyyyy"])
// Displays 02024
}
in
Source
Especificador de formato “z” de diferença
Especificador de formato personalizado "z"
Com valores DateTimeZone , o especificador de formato personalizado "z" representa o deslocamento assinado do fuso horário especificado do UTC (Tempo Universal Coordenado), medido em horas. A diferença é sempre exibida com um sinal à esquerda. Um sinal de adição (+) indica horas depois do UTC, enquanto que um sinal de subtração (-) indica horas antes do UTC. Uma diferença com um único dígito é formatada sem um zero à esquerda.
A tabela a seguir mostra como o valor de deslocamento muda dependendo da função DateTimeZone .
Valor de DateTimeZone | Valor de diferença |
---|---|
DateTimeZone.LocalNow | No Power Query Desktop, o deslocamento assinado do fuso horário do sistema operacional local do UTC. No Power Query Online, retorna +00 . |
DateTimeZone.UtcNow | Retorna +0 . |
Se o especificador de formato "z" for usado sem outros especificadores de formato personalizados, ele será interpretado como um especificador de formato de data e hora padrão e gerará um erro de expressão. Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
O exemplo a seguir inclui o especificador de formato personalizado "z" em uma cadeia de caracteres de formato personalizado em um sistema no fuso horário do Pacífico dos EUA.
let
Source =
{
DateTimeZone.ToText(DateTimeZone.LocalNow(), [Format="{0:%z}"]),
// Displays {0:-7} on Power Query Desktop
// Displays {0:+0} on Power Query Online
DateTimeZone.ToText(DateTimeZone.UtcNow(),[Format="{0:%z}"]),
// Displays {0:+0}
DateTimeZone.ToText(DateTimeZone.SwitchZone(
#datetimezone(2024, 8, 1, 0, 0, 0, 0, 0), 6),
[Format = "{0:%z}"]
)
// Displays {0:+6}
}
in
Source
Observação
O valor retornado por DateTimeZone.LocalNow depende se você está executando o Power Query em um computador local ou online. Por exemplo, no exemplo acima em um sistema no fuso horário do Pacífico dos EUA, Power Query Desktop retorna {0:-7}
porque está lendo a hora definida em seu computador local. No entanto, Power Query Online retorna {0:+0}
porque está lendo o tempo definido nas máquinas virtuais na nuvem, que são definidas como UTC.
Especificador de formato personalizado "zz"
Com valores DateTimeZone , o especificador de formato personalizado "zz" representa o deslocamento assinado do fuso horário especificado do UTC, medido em horas. A diferença é sempre exibida com um sinal à esquerda. Um sinal de adição (+) indica horas depois do UTC, enquanto que um sinal de subtração (-) indica horas antes do UTC. Uma diferença com um único dígito único é formatada com um zero à esquerda.
A tabela a seguir mostra como o valor de deslocamento muda dependendo da função DateTimeZone .
Valor de DateTimeZone | Valor de diferença |
---|---|
DateTimeZone.LocalNow | No Power Query Desktop, o deslocamento assinado do fuso horário do sistema operacional local do UTC. No Power Query Online, retorna +00 . |
DateTimeZone.UtcNow | Retorna +00 . |
O exemplo a seguir inclui o especificador de formato personalizado "zz" em uma cadeia de caracteres de formato personalizado em um sistema no fuso horário do Pacífico dos EUA.
let
Source =
{
DateTimeZone.ToText(DateTimeZone.LocalNow(), [Format="{0:zz}"]),
// Displays {0:-07} on Power Query Desktop
// Displays {0:+00} on Power Query Online
DateTimeZone.ToText(DateTimeZone.UtcNow(),[Format="{0:zz}"]),
// Displays {0:+00}
DateTimeZone.ToText(DateTimeZone.SwitchZone(
#datetimezone(2024, 8, 1, 0, 0, 0, 0, 0), 6),
[Format = "{0:zz}"]
)
// Displays {0:+06}
}
in
Source
Observação
O valor retornado por DateTimeZone.LocalNow depende se você está executando o Power Query em um computador local ou online. Por exemplo, no exemplo acima em um sistema no fuso horário do Pacífico dos EUA, Power Query Desktop retorna {0:-07}
porque está lendo a hora definida em seu computador local. No entanto, Power Query Online retorna {0:+00}
porque está lendo o tempo definido nas máquinas virtuais na nuvem, que são definidas como UTC.
Especificador de formato personalizado "zzz"
Com valores DateTimeZone , o especificador de formato personalizado "zzz" representa o deslocamento assinado do fuso horário especificado do UTC, medido em horas e minutos. A diferença é sempre exibida com um sinal à esquerda. Um sinal de adição (+) indica horas depois do UTC, enquanto que um sinal de subtração (-) indica horas antes do UTC. Uma diferença com um único dígito único é formatada com um zero à esquerda.
A tabela a seguir mostra como o valor de deslocamento muda dependendo da função DateTimeZone .
Valor de DateTimeZoneValue | Valor de diferença |
---|---|
DateTimeZone.LocalNow | No Power Query Desktop, o deslocamento assinado do fuso horário do sistema operacional local do UTC. No Power Query Online, retorna +00 . |
DateTimeZone.UtcNow | Retorna +00:00 . |
O exemplo a seguir inclui o especificador de formato personalizado "zzz" em uma cadeia de caracteres de formato personalizado em um sistema no fuso horário do Pacífico dos EUA.
let
Source =
{
DateTimeZone.ToText(DateTimeZone.LocalNow(), [Format="{0:zzz}"]),
// Displays {0:-07:00} on Power Query Desktop
// Displays {0:+00:00} on Power Query Online
DateTimeZone.ToText(DateTimeZone.UtcNow(),[Format="{0:zzz}"]),
// Displays {0:+00:00}
DateTimeZone.ToText(DateTimeZone.SwitchZone(
#datetimezone(2024, 8, 1, 0, 0, 0, 0, 0), 6),
[Format = "{0:zzz}"]
)
// Displays {0:+06:00}
}
in
Source
Observação
O valor retornado por DateTimeZone.LocalNow depende se você está executando o Power Query em um computador local ou online. Por exemplo, no exemplo acima em um sistema no fuso horário do Pacífico dos EUA, Power Query Desktop retorna {0:-07:00}
porque está lendo a hora definida em seu computador local. No entanto, Power Query Online retorna {0:+00:00}
porque está lendo o tempo definido nas máquinas virtuais na nuvem, que são definidas como UTC.
Especificadores de separador de data e hora
Especificador de formato personalizado ":"
O especificador de formato personalizado ":" representa o separador de hora, o qual é usado para diferenciar horas, minutos e segundos. O separador de tempo localizado apropriado é recuperado da cultura atual ou especificada.
Observação
Para alterar o separador de hora de uma sequência de data e hora específica, especifique o caractere separador dentro de um delimitador de cadeia de caracteres literal. Por exemplo, a cadeia de caracteres de formato personalizada hh_dd_ss
produz uma cadeia de caracteres de resultado em que "_" (um sublinhado) é sempre usado como o separador de hora.
Se o especificador de formato ":" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão e gerará um erro de expressão. Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
Especificador de formato personalizado "/"
O especificador de formato personalizado "/" representa o separador de data, o qual é usado para diferenciar anos, meses e dias. O separador de data localizado apropriado é recuperado da cultura atual ou especificada.
Observação
Para alterar o separador de data de uma sequência de data e hora específica, especifique o caractere separador dentro de um delimitador de cadeia de caracteres literal. Por exemplo, a sequência de formato personalizado mm/dd/yyyy
produz uma cadeia de caracteres de resultado em que "/" é sempre usado como o separador de data.
Se o especificador de formato "/" for usado sem outros especificadores de formato personalizado, ele será interpretado como um especificador de formato de data e hora padrão e gerará um erro de expressão. Para obter mais informações sobre como usar um único especificador de formato, acesse Usando especificadores de formato personalizado único mais adiante neste artigo.
Literais de caracteres
Os seguintes caracteres de uma cadeia de caracteres de formato de data e hora personalizado são reservados e sempre são interpretados como caracteres formatação ou, no caso de "
, '
, /
e \
, como caracteres especiais.
F
H
K
M
d
f
g
h
m
s
t
y
z
%
:
/
"
'
\
Todos os outros caracteres sempre são interpretados como literais de caracteres e, em uma operação de formatação, são incluídos na cadeia de caracteres de resultado inalterada. Em uma operação de análise, eles devem corresponder exatamente aos caracteres na cadeia de entrada; a comparação diferencia maiúsculas de minúsculas.
O exemplo a seguir inclui os caracteres literais "PST" (que indicam a Hora Padrão do Pacífico) e “PDT” (que indicam a Hora de Verão do Pacífico) para representar o fuso horário local em uma cadeia de caracteres de formato. Observe que a cadeia de caracteres está incluída na cadeia de caracteres de resultado e que uma cadeia de caracteres que inclui a cadeia de caracteres de fuso horário local também é analisada com êxito.
let
#"Date Formats" = {"dd MMM yyyy hh:mm tt PST", "dd MMM yyyy hh:mm tt PDT"},
Source =
{
DateTime.ToText(#datetime(2024, 8, 18, 16, 50, 0), [Format = #"Date Formats"{1}]),
try DateTime.ToText(DateTime.FromText(
"25 Dec 2023 12:00 pm PST", [Format = #"Date Formats"{0}]))
otherwise "Unable to parse '" & "25 Dec 2023 12:00 pm PST" & "'"
}
in
Source
// The example displays the following output text:
// 18 Aug 2024 04:50 PM PDT
// 12/25/2023 12:00:00 PM
Há duas maneiras de indicar que os caracteres devem ser interpretados como caracteres literais e não como caracteres reservados, para que possam ser incluídos em uma cadeia de caracteres de resultado ou analisados com êxito em uma cadeia de caracteres de entrada:
Com o escape de cada caractere reservado. Para obter mais informações, acesse Usando as sequências de escape.
O exemplo a seguir inclui os caracteres literais "pst" (que indicam a Hora Padrão do Pacífico) para representar o fuso horário local em uma cadeia de caracteres de formato. Como "s" e "t" são cadeias de caracteres de formato personalizado, ambos os caracteres devem ter um escape para serem interpretados como caracteres literais.
let #"Date Format" = "dd MMM yyyy hh:mm tt p's''t'", Source = { DateTime.ToText(#datetime(2024, 8, 18, 16, 50, 0), [Format = #"Date Format"]), try DateTime.ToText(DateTime.FromText( "25 Dec 2023 12:00 pm pst", [Format = #"Date Format"])) otherwise "Unable to parse '" & "25 Dec 2023 12:00 pm pst" & "'" } in Source // The example displays the following output text: // 18 Aug 2024 04:50 PM pst // 12/25/2016 12:00:00 PM
Colocando toda a cadeia de caracteres literal em apóstrofos. O exemplo a seguir é como o anterior, exceto que "pst" é colocado entre apóstrofos para indicar que toda a cadeia de caracteres delimitada deve ser interpretada como literais de caracteres.
let #"Date Format" = "dd MMM yyyy hh:mm tt 'pst'", Source = { DateTime.ToText(#datetime(2024, 8, 18, 16, 50, 0), [Format = #"Date Format"]), try DateTime.ToText(DateTime.FromText( "25 Dec 2023 12:00 pm pst", [Format = #"Date Format"])) otherwise "Unable to parse '" & "25 Dec 2023 12:00 pm pst" & "'" } in Source // The example displays the following output text: // 18 Aug 2024 04:50 PM pst // 12/25/2016 12:00:00 PM
Observações
Usando especificadores de formato personalizado simples
Uma cadeia de caracteres de formato de data e hora personalizado consiste em dois ou mais caracteres. Os métodos de formatação de data e hora interpretam qualquer cadeia de um único caractere como uma cadeia de caracteres de formato de data e hora padrão. Se eles não reconhecerem o caractere como um especificador de formato válido, eles gerarão um erro de expressão. Por exemplo, uma cadeia de caracteres de formato que consiste somente no especificador "h" é interpretada como uma cadeia de caracteres de formato padrão de data e hora. No entanto, nesse caso específico, uma exceção é gerada porque não há nenhum especificador "h" de formato padrão de data e hora.
Para usar qualquer um dos especificadores de formato de data e hora personalizado como sendo o único especificador em uma cadeia de caracteres de formato (ou seja, para usar o especificador de formato personalizado "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" ou “/” por si só), inclua um espaço antes ou após o especificador ou inclua um especificador de formato de porcentagem "%" antes do especificador de data e hora personalizado simples.
Por exemplo, "%h
” é interpretada como uma cadeia de caracteres de formato de data e hora personalizado que exibe a hora representada pelo valor atual de data e hora. Você também pode usar a cadeia de caracteres de formato " h" ou "H ", embora isso inclua um espaço na cadeia de caracteres resultante em conjunto com a hora. O exemplo a seguir ilustra essas três cadeias de caracteres de formatos.
let
date = #datetime(2024, 6, 15, 13, 45, 0),
Source =
{
Text.Format("'#{0}'", {DateTime.ToText(date, [Format = "%h"])}),
Text.Format("'#{0}'", {DateTime.ToText(date, [Format = " h"])}),
Text.Format("'#{0}'", {DateTime.ToText(date, [Format = "h "])})
}
in
Source
// The example displays a list with the following output text,
// with <sp> representing a space:
// '1'
// ' 1'
// '1 '
Usando as sequências de escape
Os caracteres "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" ou "/" em uma cadeia de caracteres de formato são interpretados como especificadores de formato personalizados em vez de caracteres literais.
Para impedir que um caractere seja interpretado como um especificador de formato, você pode:
- Preceda-o com uma barra invertida.
- Coloque-o entre aspas simples.
- Coloque-o entre aspas duplas.
Cada um desses personagens atua como uma sequência de escape. A sequência de escape significa que o caractere a seguir ou o caractere entre aspas é um literal de texto que deve ser incluído na cadeia de caracteres de resultado inalterado.
Para incluir aspas duplas em uma cadeia de caracteres de resultado, você deve escapar dela com outras aspas duplas (""
).
O exemplo a seguir usa sequências de escape diferentes para impedir que a operação de formatação interprete os caracteres "h" e "m" como especificadores de formato.
let
date = #datetime(2024, 6, 15, 13, 45, 30.90),
format1 = "h \h m \m",
format2 = "h ""h"" m ""m""",
format3 = "h 'h' m 'm'",
Source =
{
Text.Format("#{0} (#{1}) -> #{2}", {DateTime.ToText(date), format1, DateTime.ToText(date, format1)}),
Text.Format("#{0} (#{1}) -> #{2}", {DateTime.ToText(date), format2, DateTime.ToText(date, format2)}),
Text.Format("#{0} (#{1}) -> #{2}", {DateTime.ToText(date), format3, DateTime.ToText(date, format3)})
}
in
Source
// The example displays the following output text:
// 6/15/2024 1:45:30 PM (h \h m \m) -> 1 h 45 m
// 6/15/2024 1:45:30 PM (h "h" m "m") -> 1 h 45 m
// 6/15/2024 1:45:30 PM (h 'h' m 'm') -> 1 h 45 m