Cadeias de caracteres de formato de data e hora personalizadas
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. Ele também pode definir a representação de um valor de data e hora que é necessário em uma operação de análise para converter com êxito a cadeia de caracteres em uma data e hora. Uma cadeia de caracteres de formato personalizado consiste em um ou mais especificadores de formato de data e hora personalizados. 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 personalizadas de formato de data e hora podem ser usadas com o método de uma instância de data e hora e fuso ToText
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 personalizadas de formato de data e hora podem ser usadas com as funções Date, DateTime, Time e DateTimeZone. Essas funções exigem que uma cadeia de caracteres de entrada esteja exatamente em conformidade com um padrão específico para que a operação de análise seja bem-sucedida. O exemplo a seguir ilustra uma chamada para a 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 especificador de formato específico produzir uma cadeia de caracteres de resultado localizada, o exemplo também anotará 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 Notas .
Especificador de formato | Description | Exemplos |
---|---|---|
"d" | O dia do mês, de 1 a 31. Para obter mais informações: O 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. Para obter 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. Para obter mais informações: O especificador de formato personalizado "ddd". |
2009-06-15T13:45:30 -> Seg (pt-BR) 2009-06-15T13:45:30 -> Пн (ru-RU) 2009-06-15T13:45:30 -> lun. (fr-FR) |
"DDDD" | O nome completo do dia da semana. Para obter mais informações: O especificador de formato personalizado "dddd". |
2009-06-15T13:45:30 -> Segunda-feira (pt-BR) 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. Para obter mais informações: O 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. Para obter mais informações: O 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. Para obter mais informações: O especificador de formato personalizado "fff". |
6/15/2009 13:45:30.617 -> 617 6/15/2009 13:45:30.0005 -> 000 |
"FFFF" | Os dez milésimos de segundo em um valor de data e hora. Para obter mais informações: O especificador de formato personalizado "ffff". |
2009-06-15T13:45:30.6175000 -> 6175 2009-06-15T13:45:30.0000500 -> 0000 |
"FFFFF" | Os cem milésimos de segundo em um valor de data e hora. Para obter mais informações: O 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. Para obter mais informações: O especificador de formato personalizado "ffffff". |
2009-06-15T13:45:30.6175420 -> 617542 2009-06-15T13:45:30.0000005 -> 000000 |
"FFFFFFFF" | Os dez milionésimos de segundo em um valor de data e hora. Para obter mais informações: O 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. Para obter mais informações: O especificador de formato personalizado "F". |
2009-06-15T13:45:30.6170000 -> 6 2009-06-15T13:45:30.0500000 -> (sem saída) |
"FF" | Se diferente de zero, os centésimos de segundo em um valor de data e hora. Para obter mais informações: O especificador de formato personalizado "FF". |
2009-06-15T13:45:30.6170000 -> 61 2009-06-15T13:45:30.0050000 -> (sem saída) |
"FFF" | Se for diferente de zero, os milissegundos em um valor de data e hora. Para obter mais informações: O especificador de formato personalizado "FFF". |
2009-06-15T13:45:30.6170000 -> 617 2009-06-15T13:45:30.0005000 -> (sem saída) |
"FFFF" | Se diferente de zero, os dez milésimos de segundo em um valor de data e hora. Para obter mais informações: O especificador de formato personalizado "FFFF". |
2009-06-15T13:45:30.5275000 -> 5275 2009-06-15T13:45:30.0000500 -> (sem saída) |
"FFFFF" | Se diferente de zero, os cem milésimos de segundo em um valor de data e hora. Para obter mais informações: O especificador de formato personalizado "FFFFF". |
2009/06/15T13:45:30.6175400 -> 61754 2009-06-15T13:45:30.0000050 -> (sem saída) |
"FFFFFF" | Se diferente de zero, os milionésimos de segundo em um valor de data e hora. Para obter mais informações: O especificador de formato personalizado "FFFFFF". |
2009-06-15T13:45:30.6175420 -> 617542 2009-06-15T13:45:30.0000005 -> (sem saída) |
"FFFFFFF" | Se diferente de zero, os dez milionésimos de segundo em um valor de data e hora. Para obter mais informações: O especificador de formato personalizado "FFFFFFF". |
2009-06-15T13:45:30.6175425 -> 6175425 2009-06-15T13:45:30.0001150 -> 000115 |
"g", "gg" | O período ou época. Para obter 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. Para obter mais informações: O 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. Para obter mais informações: O 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. Para obter 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. Para obter 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. Para obter 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 locais ou na nuvem do computador) |
"m" | O minuto, de 0 a 59. Para obter mais informações: O especificador de formato personalizado "m". |
2009-06-15T01:09:30 -> 9 2009-06-15T13:29:30 -> 29 |
"Milímetro" | O minuto, de 00 a 59. Para obter mais informações: O 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. Para obter mais informações: O especificador de formato personalizado "M". |
2009-06-15T13:45:30 -> 6 |
"MM" | O mês, de 01 a 12. Para obter mais informações: O especificador de formato personalizado "MM". |
2009-06-15T13:45:30 -> 06 |
"MMM" | O nome abreviado do mês. Para obter mais informações: O especificador de formato personalizado "MMM". |
2009-06-15T13:45:30 -> jun (pt-BR) 2009-06-15T13:45:30 -> juin (fr-FR) 2009-06-15T13:45:30 -> junho (zu-ZA) |
"MMMM" | O nome completo do mês. Para obter mais informações: O especificador de formato personalizado "MMMM". |
2009-06-15T13:45:30 -> junho (pt-BR) 2009-06-15T13:45:30 -> juni (da-DK) 2009-06-15T13:45:30 -> Juni (zu-ZA) |
"s" | O segundo, de 0 a 59. Para obter mais informações: O especificador de formato personalizado "s". |
2009-06-15T13:45:09 -> 9 |
"SS" | O segundo, de 00 a 59. Para obter mais informações: O especificador de formato personalizado "ss". |
2009-06-15T13:45:09 -> 09 |
"t" | O primeiro caractere do designador AM/PM. Para obter mais informações: O especificador de formato personalizado "t". |
2009-06-15T13:45:30 -> P (pt-BR) 2009-06-15T13:45:30 -> 午 (ja-JP) 2009-06-15T13:45:30 -> (FR-FR) |
"TT" | O designador AM/PM. Para obter mais informações: O especificador de formato personalizado "tt". |
2009-06-15T13:45:30 -> PM (pt-BR) 2009-06-15T13:45:30 -> 午後 (ja-JP) 2009-06-15T13:45:30 -> (FR-FR) |
"Y" | O ano, de 0 a 99. Para obter 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. Para obter 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 |
"AAAA" | O ano, com um mínimo de três dígitos. Para obter 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 |
"AAAA" | 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 |
"AAAAA" | O ano como um número de cinco dígitos. Para obter mais informações: O especificador de formato personalizado "aaaaa". |
0001-01-01T00:00:00 -> 00001 2009-06-15T13:45:30 -> 02009 |
"Z" | Deslocamento de horas do UTC, sem zeros à esquerda. Para obter mais informações: O especificador de formato personalizado "z". |
2009-06-15T13:45:30-07:00 -> -7 |
"zz" | Horas deslocadas do UTC, com um zero à esquerda para um valor de um dígito. Para obter mais informações: O especificador de formato personalizado "zz". |
2009-06-15T13:45:30-07:00 -> -07 |
"zzz" | Horas e minutos de deslocamento do UTC. Para obter mais informações: O especificador de formato personalizado "zzz". |
2009-06-15T13:45:30-07:00 -> -07:00 |
":" | O separador de tempo. Para obter mais informações: O especificador de formato personalizado ":". |
2009-06-15T13:45:30 -> : (pt-BR) 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 -> / (pt-BR) 2009-06-15T13:45:30 -> - (ar-DZ) 2009-06-15T13:45:30 -> . (TR-TR) |
"Corda" 'String' |
Delimitador de cadeia de caracteres literal. Mais informações: Literais 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 a seguir como um especificador de formato personalizado. Para obter mais informações: Usando especificadores de formato personalizado único. |
2009-06-15T13:45:30 (%h) -> 1 |
\, "", ' | As sequências de fuga. Para obter mais informações: Literais de caracteres 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 personagem | O caractere é copiado para a cadeia de caracteres de resultado inalterada. Mais informações: Literais de caracteres. |
2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A |
As seções a seguir fornecem informações adicionais sobre cada especificador de formato de data e hora personalizado. Salvo indicação em contrário, 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 "d" do dia
O 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. Um dia de um dígito é formatado sem um zero à esquerda.
Se o especificador de formato "d" for usado sem outros especificadores de formato personalizados, ele será interpretado como o especificador de formato de data e hora padrão "d". Para obter mais informações sobre como usar um especificador de formato único, vá para 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
O 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. Um dia de um dígito é formatado 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
O especificador de formato personalizado "ddd"
O especificador de formato personalizado "ddd" representa o nome abreviado do dia da semana. 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
O especificador de formato personalizado "dddd"
O especificador de formato personalizado "dddd" (mais qualquer número 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" em segundos minúsculos
O 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 de formato de data e hora padrão "f". Para obter mais informações sobre como usar um especificador de formato único, vá para 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 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
O 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, 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
O 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, 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
O 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, representa os dez milésimos de segundo em um valor de data e hora.
Embora seja possível exibir os dez milé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 relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
O 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, representa os cem milésimos de segundo em um valor de data e hora.
Embora seja possível exibir os cem milé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 relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
O 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, representa os milionésimos de 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 relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
O 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 dez milionésimos de segundo em um valor de data e hora.
Embora seja possível exibir os dez 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 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" em segundos maiúsculos
O 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 é exibido se o dígito for zero e o ponto decimal que segue o número de segundos também não é exibido.
Se o especificador de formato "F" for usado sem outros especificadores de formato, ele será interpretado como o especificador de formato de data e hora padrão "F". Para obter mais informações sobre como usar um especificador de formato único, vá para 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
O 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, representa os centésimos de segundo em um valor de data e hora. Os zeros à direita não são exibidos. Nada é exibido se os dois dígitos significativos forem zero e, nesse caso, a vírgula decimal que se segue ao número de segundos também não é exibida.
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
O 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, representa os milissegundos em um valor de data e hora. Os zeros à direita não são exibidos. Nada é exibido se os três dígitos significativos forem zero e, nesse caso, a vírgula decimal que se segue ao número de segundos também não é exibida.
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
O 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, representa os dez milésimos de segundo em um valor de data e hora. Os zeros à direita não são exibidos. Nada é exibido se os quatro dígitos significativos forem zero e, nesse caso, a vírgula decimal que se segue ao número de segundos também não é exibida.
Embora seja possível exibir os dez milé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 relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
O 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, representa os cem milésimos de segundo em um valor de data e hora. Os zeros à direita não são exibidos. Nada é 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 é exibido.
Embora seja possível exibir os cem milé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 relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
O 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, representa os milionésimos de segundo em um valor de data e hora. Os zeros à direita não são exibidos. Nada é exibido se os seis dígitos significativos forem zero e, nesse caso, a vírgula decimal que se segue ao número de segundos também não é exibida.
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 relógio do sistema. Nos sistemas operacionais Windows Server 2019 e Windows 11, a resolução do relógio é de aproximadamente 1 milissegundo.
O 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 dez milionésimos de segundo em um valor de data e hora. Os zeros à direita não são exibidos. Nada é exibido se os sete dígitos significativos forem zero e, nesse caso, a vírgula decimal que se segue ao número de segundos também não é exibida.
Embora seja possível exibir os dez 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 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 "g" da era
O 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 uma cadeia de caracteres de período ou era associada.
Se o especificador de formato "g" for usado sem outros especificadores de formato personalizados, ele será interpretado como o especificador de formato de data e hora padrão "g". Para obter mais informações sobre como usar um especificador de formato único, vá para 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 minúscula
O 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 ou meio-dia. Uma determinada hora depois da 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, dado um tempo de 5:43 de manhã ou à 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 lançará um erro de expressão. Para obter mais informações sobre como usar um especificador de formato único, vá para 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
O 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 meio-dia. Uma determinada hora depois da 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, dado um tempo de 5:43 de manhã ou à 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 maiúscula
O 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 as horas desde a meia-noite. Uma hora de um dígito é 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 lançará um erro de expressão. Para obter mais informações sobre como usar um especificador de formato único, vá para 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
O 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 as horas desde a meia-noite. Uma hora de um dígito é 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 de fuso horário "K"
O especificador de formato personalizado "K"
O especificador de formato personalizado "K" representa as informações de fuso horário de um valor de data e hora. Quando esse especificador de formato é usado com valores DateTimeZone , a cadeia de caracteres de resultado é definida como:
Para o fuso horário local, este especificador produz uma cadeia de resultados que contém o deslocamento local do Tempo Universal Coordenado (UTC), por exemplo, "-07:00", se a sua consulta for executada no Power Query Desktop. Se a sua consulta for executada no Power Query Online, a cadeia de resultados não produzirá qualquer deslocamento da hora UTC, ou seja, "+00:00".
Para uma hora UTC, a string de resultado não produz nenhum deslocamento da hora UTC; ou seja, "+00:00 para representar uma data UTC.
Para um tempo 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 lançará um erro de expressão. Para obter mais informações sobre como usar um especificador de formato único, vá para Usando especificadores de formato personalizado único mais adiante neste artigo.
O exemplo a seguir exibe a cadeia de caracteres que resulta 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
Nota
O valor devolvido por DateTimeZone.LocalNow depende de estar a executar o Power Query numa máquina local ou online. Por exemplo, no exemplo acima num sistema no fuso horário do Pacífico dos EUA, o Power Query Desktop regressa -07:00
porque está a ler a hora definida no seu computador local. No entanto, o Power Query Online regressa +00:00
porque está a ler a hora definida nas máquinas virtuais na nuvem, que estão definidas como UTC.
Especificador de formato minuto "m"
O 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 minutos inteiros que se passaram desde a última hora. Um minuto de um dígito é formatado sem um zero à esquerda.
Se o especificador de formato "m" for usado sem outros especificadores de formato personalizados, ele será interpretado como o especificador de formato de data e hora padrão "m". Para obter mais informações sobre como usar um especificador de formato único, vá para 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
O 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 minutos inteiros que se passaram desde a última hora. Um minuto de um dígito é 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" do mês
O 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 calendários com 13 meses). Um mês de um dígito é formatado sem um zero à esquerda.
Se o especificador de formato "M" for usado sem outros especificadores de formato personalizados, ele será interpretado como o especificador de formato de data e hora padrão "M". Para obter mais informações sobre como usar um especificador de formato único, vá para 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
O 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 1 a 13 para calendários com 13 meses). Um mês de um dígito é 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
O especificador de formato personalizado "MMM"
O especificador de formato personalizado "MMM" representa o nome abreviado do mês. O nome abreviado localizado do mês é recuperado dos nomes de meses 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
O especificador de formato personalizado "MMMM"
O especificador de formato personalizado "MMMM" representa o nome completo do mês. 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
O 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 segundos inteiros que se passaram desde o último minuto. Um segundo de um dígito é formatado sem um zero à esquerda.
Se o especificador de formato "s" for usado sem outros especificadores de formato personalizados, ele será interpretado como o especificador de formato de data e hora padrão "s". Para obter mais informações sobre como usar um especificador de formato único, vá para 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
O 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 segundos inteiros que se passaram desde o último minuto. Um segundo de um dígito é 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 Meridiem "t"
O 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 todos os horários das 0:00:00 (meia-noite) às 11:59:59.999. O designador PM é usado para todos os tempos das 12:00:00 (meio-dia) às 23:59:59.999.
Se o especificador de formato "t" for usado sem outros especificadores de formato personalizados, ele será interpretado como o especificador de formato de data e hora padrão "t". Para obter mais informações sobre como usar um especificador de formato único, vá para 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
O especificador de formato personalizado "tt"
O especificador de formato personalizado "tt" (mais qualquer número de especificadores "t" adicionais) representa todo o designador AM/PM. O designador localizado apropriado é recuperado da cultura atual ou específica. O designador AM é usado para todos os horários das 0:00:00 (meia-noite) às 11:59:59.999. O designador PM é usado para todos os tempos das 12:00:00 (meio-dia) às 23:59:59.999.
Certifique-se de usar o especificador "tt" para idiomas para os quais é necessário manter a distinção entre AM e PM. Um exemplo é o japonês, para o qual os designadores AM e PM diferem no segundo caractere em vez do primeiro caractere.
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" do ano
O especificador de formato personalizado "y"
O especificador de formato personalizado "y" representa o ano como um número de um ou dois dígitos. Se o ano tiver mais de dois dígitos, apenas os dois dígitos de ordem baixa aparecem no resultado. Se o primeiro dígito de um ano de dois dígitos começar com um zero (por exemplo, 2008), o número será formatado sem um zero à esquerda.
Se o especificador de formato "y" for usado sem outros especificadores de formato personalizados, ele será interpretado como o especificador de formato de data e hora padrão "y". Para obter mais informações sobre como usar um especificador de formato único, vá para 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
O 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 de dois dígitos, apenas os dois dígitos de ordem baixa aparecem no resultado. Se o ano de dois dígitos tiver menos de dois dígitos significativos, o número é 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 que tem 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
O especificador de formato personalizado "yyy"
O especificador de formato personalizado "aaa" representa o ano com um mínimo de três dígitos. Se o ano tiver mais de três dígitos significativos, eles serão incluídos na sequência de resultados. Se o ano tiver menos de três dígitos, o número é acolchoado com zeros à esquerda para produzir três dígitos.
Nota
Para o calendário budista tailandês, que pode ter anos de 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
O especificador de formato personalizado "aaaa"
O especificador de formato personalizado "aaaa" representa o ano com um mínimo de quatro dígitos. Se o ano tiver mais de quatro dígitos significativos, eles são incluídos na sequência de resultados. Se o ano tiver menos de quatro dígitos, o número é acolchoado com zeros à esquerda para produzir quatro dígitos.
Nota
Para o calendário budista tailandês, que pode ter anos de cinco dígitos, este especificador de formato exibe um mínimo de quatro dígitos.
O exemplo a seguir inclui o especificador de formato personalizado "aaaa" 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
O especificador de formato personalizado "aaaa"
O especificador de formato personalizado "aaaa" (mais qualquer número de especificadores "y" adicionais) representa o ano com um mínimo de cinco dígitos. Se o ano tiver mais de cinco dígitos significativos, eles serão incluídos na sequência de resultados. Se o ano tiver menos de cinco dígitos, o número é acolchoado com zeros à esquerda para produzir cinco dígitos.
Se houver especificadores "y" adicionais, o número é acolchoado 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" deslocado
O especificador de formato personalizado "z"
Com os 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. O deslocamento é sempre exibido com um sinal à esquerda. Um sinal de mais (+) indica horas antes do UTC, e um sinal de menos (-) indica horas atrás do UTC. Um deslocamento de um dígito é formatado sem um zero à esquerda.
A tabela a seguir mostra como o valor de deslocamento muda dependendo da função DateTimeZone .
Valor DateTimeZone | Valor de deslocamento |
---|---|
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 | Devoluções +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 lançará um erro de expressão. Para obter mais informações sobre como usar um especificador de formato único, vá para 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
Nota
O valor devolvido por DateTimeZone.LocalNow depende de estar a executar o Power Query numa máquina local ou online. Por exemplo, no exemplo acima num sistema no fuso horário do Pacífico dos EUA, o Power Query Desktop regressa {0:-7}
porque está a ler a hora definida no seu computador local. No entanto, o Power Query Online regressa {0:+0}
porque está a ler a hora definida nas máquinas virtuais na nuvem, que estão definidas como UTC.
O 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. O deslocamento é sempre exibido com um sinal à esquerda. Um sinal de mais (+) indica horas antes do UTC, e um sinal de menos (-) indica horas atrás do UTC. Um deslocamento de um dígito é formatado com um zero à esquerda.
A tabela a seguir mostra como o valor de deslocamento muda dependendo da função DateTimeZone .
Valor DateTimeZone | Valor de deslocamento |
---|---|
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 | Devoluções +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
Nota
O valor devolvido por DateTimeZone.LocalNow depende de estar a executar o Power Query numa máquina local ou online. Por exemplo, no exemplo acima num sistema no fuso horário do Pacífico dos EUA, o Power Query Desktop regressa {0:-07}
porque está a ler a hora definida no seu computador local. No entanto, o Power Query Online regressa {0:+00}
porque está a ler a hora definida nas máquinas virtuais na nuvem, que estão definidas como UTC.
O 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. O deslocamento é sempre exibido com um sinal à esquerda. Um sinal de mais (+) indica horas antes do UTC, e um sinal de menos (-) indica horas atrás do UTC. Um deslocamento de um dígito é formatado com um zero à esquerda.
A tabela a seguir mostra como o valor de deslocamento muda dependendo da função DateTimeZone .
Valor DateTimeZoneValue | Valor de deslocamento |
---|---|
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 | Devoluções +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
Nota
O valor devolvido por DateTimeZone.LocalNow depende de estar a executar o Power Query numa máquina local ou online. Por exemplo, no exemplo acima num sistema no fuso horário do Pacífico dos EUA, o Power Query Desktop regressa {0:-07:00}
porque está a ler a hora definida no seu computador local. No entanto, o Power Query Online regressa {0:+00:00}
porque está a ler a hora definida nas máquinas virtuais na nuvem, que estão definidas como UTC.
Especificadores separadores de data e hora
O especificador de formato personalizado ":"
O especificador de formato personalizado ":" representa o separador de tempo, que é usado para diferenciar horas, minutos e segundos. O separador de tempo localizado apropriado é recuperado da cultura atual ou especificada.
Nota
Para alterar o separador de hora para uma determinada cadeia de caracteres de data e hora, especifique o caractere separador dentro de um delimitador de cadeia de caracteres literal. Por exemplo, a cadeia de caracteres hh_dd_ss
de formato personalizado produz uma cadeia de resultados na qual "_" (um sublinhado) é sempre usado como separador de tempo.
Se o especificador de formato ":" for usado sem outros especificadores de formato personalizados, ele será interpretado como um especificador de formato de data e hora padrão e lançará um erro de expressão. Para obter mais informações sobre como usar um especificador de formato único, vá para Usando especificadores de formato personalizado único mais adiante neste artigo.
O especificador de formato personalizado "/"
O especificador de formato personalizado "/" representa o separador de data, que é usado para diferenciar anos, meses e dias. O separador de data localizado apropriado é recuperado da cultura atual ou especificada.
Nota
Para alterar o separador de data para uma determinada cadeia de caracteres de data e hora, especifique o caractere separador dentro de um delimitador de cadeia de caracteres literal. Por exemplo, a cadeia de caracteres mm/dd/yyyy
de formato personalizado produz uma cadeia de resultados na qual "/" é sempre usado como separador de data.
Se o especificador de formato "/" for usado sem outros especificadores de formato personalizados, ele será interpretado como um especificador de formato de data e hora padrão e lançará um erro de expressão. Para obter mais informações sobre como usar um especificador de formato único, vá para Usando especificadores de formato personalizado único mais adiante neste artigo.
Literais de caracteres
Os seguintes caracteres em uma cadeia de caracteres de formato de data e hora personalizada são reservados e são sempre interpretados como caracteres de 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 são sempre 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 caracteres de entrada; A comparação diferencia maiúsculas de minúsculas.
O exemplo a seguir inclui os caracteres literais "PST" (para Pacific Standard Time) e "PDT" (para Pacific Daylight Time) 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 analisa 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 de reserva, para que possam ser incluídos em uma cadeia de caracteres de resultado ou analisados com êxito em uma cadeia de caracteres de entrada:
Escapando de cada personagem reservado. Para obter mais informações, vá para Usando as sequências de escape.
O exemplo a seguir inclui os caracteres literais "pst" (para 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 ser escapados para serem interpretados como literais de caracteres.
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
Encerrando toda a cadeia literal em apóstrofos. O exemplo a seguir é como o anterior, exceto que "pst" é incluído em apóstrofos para indicar que toda a cadeia 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
Notas
Usando especificadores de formato personalizado único
Uma cadeia de caracteres de formato de data e hora personalizada consiste em dois ou mais caracteres. Os métodos de formatação de data e hora interpretam qualquer cadeia de caracteres 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, lançarão um erro de expressão. Por exemplo, uma cadeia de caracteres de formato que consiste apenas no especificador "h" é interpretada como uma cadeia de caracteres de formato de data e hora padrão. No entanto, neste caso específico, uma exceção é lançada porque não há um especificador de formato de data e hora padrão "h".
Para usar qualquer um dos especificadores de formato de data e hora personalizados como 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 "/", especificador de formato personalizado por si só), inclua um espaço antes ou depois do especificador de formato ou inclua um especificador de formato de porcentagem ("%") antes do especificador de data e hora personalizado único.
Por exemplo, "%h
" é interpretado como uma cadeia de caracteres de formato de data e hora personalizada que exibe a hora representada pelo valor de data e hora atual. Você também pode usar a cadeia de caracteres de formato " h" ou "h ", embora isso inclua um espaço na cadeia de caracteres de resultado junto com a hora. O exemplo a seguir ilustra essas três cadeias de caracteres de formato.
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 personalizado em vez de caracteres literais.
Para evitar que um caractere seja interpretado como um especificador de formato, você pode:
- Preceda-o com uma barra invertida.
- Envolva-o com uma única citação.
- Rodeie-o com duas aspas duplas.
Cada um desses personagens funciona como uma sequência de fuga. A sequência de escape significa que o caractere a seguir ou o caractere cercado é um literal de texto que deve ser incluído na cadeia de caracteres de resultado inalterado.
Para incluir uma aspa dupla em uma cadeia de caracteres de resultado, você deve escapar dela com outra aspa dupla (""
).
O exemplo a seguir usa diferentes sequências de escape 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