Compartir a través de


Cadenas con formato de fecha y hora personalizado

Una cadena de formato de fecha y hora define la representación de texto de un valor Date, DateTime, DateTimeZone o Time resultante de una operación de formato. También puede definir la representación de un valor de fecha y hora que se necesite en una operación de análisis para convertir correctamente la cadena en una fecha y hora. Una cadena de formato personalizado consta de uno o varios especificadores de formato de fecha y hora personalizado. Cualquier cadena que no sea una cadena de formato de fecha y hora estándar se interpreta como una cadena de formato de fecha y hora personalizada.

En las operaciones de formato, se pueden usar cadenas de formato de fecha y hora personalizadas con el ToText método de una instancia de fecha y hora y zona horaria. En el ejemplo siguiente se ilustran sus 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

En las operaciones de análisis, se pueden usar cadenas de formato de fecha y hora personalizadas con las funciones Date, DateTime, Time y DateTimeZone . Estas funciones requieren que una cadena de entrada se ajuste exactamente a un patrón determinado para que la operación de análisis se realice correctamente. En el ejemplo siguiente se muestra una llamada a la función DateTime.FromText para analizar una fecha que debe incluir un mes, un día y un año de dos 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.

En la tabla siguiente se describen los especificadores de formato de fecha y hora personalizados, y se muestra la cadena de resultado producida por cada especificador de formato. De forma predeterminada, las cadenas de resultado reflejan las convenciones de formato de la referencia cultural en-us. Si un especificador de formato determinado genera una cadena de resultado localizada, el ejemplo también indica la referencia cultural a la que se aplica dicha cadena. Para obtener más información sobre el uso de cadenas de formato de fecha y hora personalizadas, vaya a la sección Notas .

Especificador de formato Descripción Ejemplos
"d" El día del mes, de 1 a 31.

Más información: Especificador de formato personalizado "d".
2009-06-01T13:45:30 -> 1

2009-06-15T13:45:30 -> 15
"dd" El día del mes, de 01 a 31.

Más información: Especificador de formato personalizado "dd".
2009-06-01T13:45:30 -> 01

2009-06-15T13:45:30 -> 15
"ddd" El nombre abreviado del día de la semana.

Más información: Especificador de formato personalizado "ddd".
2009-06-15T13:45:30 -> Lun (en-US)

2009-06-15T13:45:30 -> Пн (ru-RU)

2009-06-15T13:45:30 -> lun. (fr-FR)
"dddd" El nombre completo del día de la semana.

Más información: Especificador de formato personalizado "dddd".
2009-06-15T13:45:30 -> Lun (en-US)

2009-06-15T13:45:30 -> понедельник (ru-RU)

2009-06-15T13:45:30 -> lundi (fr-FR)
"f" Las décimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado "f".
2009-06-15T13:45:30.6170000 -> 6

2009-06-15T13:45:30.05 -> 0
"ff" Las centésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado "ff".
2009-06-15T13:45:30.6170000 -> 61

2009-06-15T13:45:30.0050000 -> 00
"fff" Los milisegundos de un valor de fecha y hora.

Más información: Especificador de formato personalizado "fff".
6/15/2009 13:45:30.617 -> 617

6/15/2009 13:45:30.0005 -> 000
"ffff" Las diezmilésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado "ffff".
2009-06-15T13:45:30.6175000 -> 6175

2009-06-15T13:45:30.0000500 -> 0000
"fffff" Las cienmilésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado "fffff".
2009-06-15T13:45:30.6175400 -> 61754

6/15/2009 13:45:30.000005 -> 00000
"ffffff" Las millonésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado "ffffff".
2009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000005 -> 000000
"fffffff" Las diezmillonésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado "fffffff".
2009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 0001150
"F" Si es distinto de cero, las décimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado "F".
2009-06-15T13:45:30.6170000 -> 6

2009-06-15T13:45:30.0500000 -> (sin resultado)
"FF" Si es distinto de cero, las centésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado "FF".
2009-06-15T13:45:30.6170000 -> 61

2009-06-15T13:45:30.0050000 -> (sin resultado)
"FFF" Si es distinto de cero, los milisegundos de un valor de fecha y hora.

Más información: Especificador de formato personalizado "FFF".
2009-06-15T13:45:30.6170000 -> 617

2009-06-15T13:45:30.0005000 -> (sin resultado)
"FFFF" Si es distinto de cero, las diezmilésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado "FFFF".
2009-06-15T13:45:30.5275000 -> 5275

2009-06-15T13:45:30.0000500 -> (sin resultado)
"FFFFF" Si es distinto de cero, las cienmilésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado "FFFFF".
2009-06-15T13:45:30.6175400 -> 61754

2009-06-15T13:45:30.0000050 -> (sin resultado)
"FFFFFF" Si es distinto de cero, las millonésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado "FFFFFF".
2009-06-15T13:45:30.6175420 -> 617542

2009-06-15T13:45:30.0000005 -> (sin resultado)
"FFFFFFF" Si es distinto de cero, las diezmillonésimas de segundo de un valor de fecha y hora.

Más información: Especificador de formato personalizado "FFFFFFF".
2009-06-15T13:45:30.6175425 -> 6175425

2009-06-15T13:45:30.0001150 -> 000115
"g", "gg" El período o la era.

Más información: Especificador de formato personalizado "g" o "gg".
2009-06-15T13:45:30.6170000 -> A.D.
"h" La hora, usando un reloj de 12 horas de 1 a 12.

Más información: Especificador de formato personalizado "h".
2009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 1
"hh" La hora, usando un reloj de 12 horas de 01 a 12.

Más información: Especificador de formato personalizado "hh".
2009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 01
"H" La hora, usando un reloj de 24 horas de 0 a 23.

Más información: Especificador de formato personalizado "H".
2009-06-15T01:45:30 -> 1

2009-06-15T13:45:30 -> 13
"HH" La hora, usando un reloj de 24 horas de 00 a 23.

Más información: Especificador de formato personalizado "HH".
2009-06-15T01:45:30 -> 01

2009-06-15T13:45:30 -> 13
"K" Información de la zona horaria.

Más información: Especificador de formato personalizado "K".
2009-06-15T13:45:30, Sin especificar :>

2009-06-15T13:45:30, Utc -> +00:00

2009-06-15T13:45:30, Local -> -07:00 (depende de la configuración del equipo local o en la nube)
"m" Minutos, de 0 a 59.

Más información: Especificador de formato personalizado "m".
2009-06-15T01:09:30 -> 9

2009-06-15T13:29:30 -> 29
"mm" Minutos, de 00 a 59.

Más información: Especificador de formato personalizado "mm".
2009-06-15T01:09:30 -> 09

2009-06-15T01:45:30 -> 45
"M" Meses, de 1 a 12.

Más información: Especificador de formato personalizado "M".
2009-06-15T13:45:30 -> 6
"MM" Meses, de 01 a 12.

Más información: Especificador de formato personalizado "MM".
2009-06-15T13:45:30 -> 06
"MMM" El nombre abreviado del mes.

Más información: 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" El nombre completo del mes.

Más información: 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" Segundos, de 0 a 59.

Más información: Especificador de formato personalizado "s".
2009-06-15T13:45:09 -> 9
"ss" Segundos, de 00 a 59.

Más información: Especificador de formato personalizado "ss".
2009-06-15T13:45:09 -> 09
"t" El primer carácter del designador AM/PM.

Más información: 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" El designador AM/PM.

Más información: 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" El año, de 0 a 99.

Más información: 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" El año, de 00 a 99.

Más información: Especificador de formato personalizado "aaaa".
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" El año, con un mínimo de tres dígitos.

Más información: Especificador de formato personalizado "aaaa".
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" El año como un número de cuatro dígitos.

Más información: 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" El año como un número de cinco dígitos.

Más información: Especificador de formato personalizado "aaaa".
0001-01-01T00:00:00 -> 00001

2009-06-15T13:45:30 -> 02009
"z" Desfase de horas con respecto a la hora UTC, sin ceros iniciales.

Más información: Especificador de formato personalizado "z".
2009-06-15T13:45:30-07:00 -> -7
"zz" Desfase de horas con respecto a la hora UTC, con un cero inicial para un valor de un solo dígito.

Más información: Especificador de formato personalizado "zz".
2009-06-15T13:45:30-07:00 -> -07
"zzz" Desfase de horas y minutos con respecto a la hora UTC.

Más información: Especificador de formato personalizado "zzz".
2009-06-15T13:45:30-07:00 -> -07:00
":" El separador de hora.

Más información: 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)
"/" El separador de fecha.

Más información: 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)
"cadena"

'cadena'
Delimitador de cadena literal.

Más información: Literales de carácter.
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 el siguiente carácter como un especificador de formato personalizado.

Más información: Uso de especificadores de formato personalizado único.
2009-06-15T13:45:30 (%h) -> 1
\, "", ' Secuencias de escape.

Más información: Literales de caracteres y Uso de las secuencias 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
Cualquier otro carácter El carácter se copia en la cadena de resultado sin modificar.

Más información: Literales de carácter.
2009-06-15T01:45:30 (arr hh:mm t) -> arr 01:45 A

En las secciones siguientes se proporciona información adicional sobre cada especificador de formato de fecha y hora personalizado. A menos que se indique lo contrario, cada especificador genera una representación de cadena idéntica independientemente de si se usa con un valor Date, DateTime, DateTimeZone o Time .

Especificador de formato de día "d"

Especificador de formato personalizado "d"

El especificador de formato personalizado "d" representa el día del mes como un número de 1 a 31. Un día con un solo dígito tiene un formato sin un cero inicial.

Si el especificador de formato "d" se usa sin otros especificadores de formato personalizado, se interpretará como el especificador de formato de fecha y hora estándar "d". Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

En el ejemplo siguiente se incluye el especificador de formato personalizado "d" en varias cadenas 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

Volver a la tabla

Especificador de formato personalizado "dd"

La cadena de formato personalizado "dd" representa el día del mes como un número de 01 a 31. Un día con un solo dígito tiene un formato con un cero inicial.

En el ejemplo siguiente se incluye el especificador de formato personalizado "dd" en una cadena de formato personalizado.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 2, 6, 30, 15), [Format = "dd, MM", Culture = ""])
        // Displays 02, 01 
    }
in
    Source

Volver a la tabla

Especificador de formato personalizado "ddd"

El especificador de formato personalizado "ddd" representa el nombre abreviado del día de la semana. El nombre abreviado localizado del día de la semana se recupera de la referencia cultural actual o especificada.

En el ejemplo siguiente se incluye el especificador de formato personalizado "ddd" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "dddd"

El especificador de formato personalizado "dddd" (más cualquier número de especificadores "d" adicionales) representa el nombre completo del día de la semana. El nombre localizado del día de la semana se recupera de la referencia cultural actual o especificada.

En el ejemplo siguiente se incluye el especificador de formato personalizado "dddd" en una cadena 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

Volver a la tabla

Especificador de fracción de segundos en minúsculas "f"

Especificador de formato personalizado "f"

El especificador de formato personalizado "f" representa el dígito más significativo de la fracción de segundos; es decir, representa las décimas de segundo de un valor de fecha y hora.

Si el especificador de formato "f" se usa sin otros especificadores de formato, se interpreta como el especificador de formato de fecha y hora estándar "f". Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

Cuando se usan especificadores de formato "f" como parte de una cadena de formato proporcionada para analizar el número de fracciones de segundos, el número de especificadores de formato "f" indica el número de dígitos más significativos de la fracción de segundos que debe estar presente para analizar correctamente la cadena.

En el ejemplo siguiente se incluye el especificador de formato personalizado "f" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "ff"

El especificador de formato personalizado "ff" representa los dos dígitos más significativos de la fracción de segundos; es decir, representa las centésimas de segundo de un valor de fecha y hora.

En el ejemplo siguiente se incluye el especificador de formato personalizado "ff" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "fff"

El especificador de formato personalizado "fff" representa los tres dígitos más significativos de la fracción de segundos; es decir, representa los milisegundos de un valor de fecha y hora.

En el ejemplo siguiente se incluye el especificador de formato personalizado "fff" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "ffff"

El especificador de formato personalizado "ffff" representa los cuatro dígitos más significativos de la fracción de segundos; es decir, representa las diezmilésimas de segundo de un valor de fecha y hora.

Aunque es posible mostrar las diez milésimas de un segundo componente de un valor de hora, es posible que ese valor no sea significativo. La precisión de los valores de fecha y hora depende de la resolución del reloj del sistema. En los sistemas operativos Windows Server 2019 y Windows 11, la resolución del reloj es de aproximadamente 1 milisegundos.

Volver a la tabla

Especificador de formato personalizado "fffff"

El especificador de formato personalizado "fffff" representa los cinco dígitos más significativos de la fracción de segundo; es decir, representa las cienmilésimas de segundo de un valor de fecha y hora.

Aunque es posible mostrar las centésimas milésimas de segundo componente de un valor de hora, es posible que ese valor no sea significativo. La precisión de los valores de fecha y hora depende de la resolución del reloj del sistema. En los sistemas operativos Windows Server 2019 y Windows 11, la resolución del reloj es de aproximadamente 1 milisegundos.

Volver a la tabla

Especificador de formato personalizado "ffffff"

El especificador de formato personalizado "ffffff" representa los seis dígitos más significativos de la fracción de segundos; es decir, representa las millonésimas de segundo de un valor de fecha y hora.

Aunque es posible mostrar la millonésima parte de un segundo componente de un valor de hora, es posible que ese valor no sea significativo. La precisión de los valores de fecha y hora depende de la resolución del reloj del sistema. En los sistemas operativos Windows Server 2019 y Windows 11, la resolución del reloj es de aproximadamente 1 milisegundos.

Volver a la tabla

Especificador de formato personalizado "fffffff"

El especificador de formato personalizado "fffffff" representa los siete dígitos más significativos de la fracción de segundos; es decir, representa las diezmillonésimas de segundo de un valor de fecha y hora.

Aunque es posible mostrar las diez millonésimas de un segundo componente de un valor de hora, es posible que ese valor no sea significativo. La precisión de los valores de fecha y hora depende de la resolución del reloj del sistema. En los sistemas operativos Windows Server 2019 y Windows 11, la resolución del reloj es de aproximadamente 1 milisegundos.

Volver a la tabla

Especificador de fracción de segundos en mayúsculas "F"

Especificador de formato personalizado "F"

El especificador de formato personalizado "F" representa el dígito más significativo de la fracción de segundos; es decir, representa las décimas de segundo de un valor de fecha y hora. No se muestra nada si el dígito es cero y tampoco se muestra el separador decimal que sigue al número de segundos.

Si el especificador de formato "F" se usa sin otros especificadores de formato, se interpreta como el especificador de formato de fecha y hora estándar "F". Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

El número de especificadores de formato "F" usados al analizar indica el número máximo de dígitos más significativos de la fracción de segundos que puede estar presente para analizar correctamente la cadena.

En el ejemplo siguiente se incluye el especificador de formato personalizado "F" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "FF"

El especificador de formato personalizado "FF" representa los dos dígitos más significativos de la fracción de segundos; es decir, representa las centésimas de segundo de un valor de fecha y hora. No se muestran ceros finales. No se muestra nada si los dos dígitos significativos son cero y, en ese caso, no se muestra el separador decimal que sigue al número de segundos.

En el ejemplo siguiente se incluye el especificador de formato personalizado "FF" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "FFF"

El especificador de formato personalizado "FFF" representa los tres dígitos más significativos de la fracción de segundos; es decir, representa los milisegundos de un valor de fecha y hora. No se muestran ceros finales. No se muestra nada si los tres dígitos significativos son cero y, en ese caso, el separador decimal que sigue al número de segundos tampoco se muestra.

En el ejemplo siguiente se incluye el especificador de formato personalizado "FFF" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "FFFF"

El especificador de formato personalizado "FFFF" representa los cuatro dígitos más significativos de la fracción de segundos; es decir, representa las diezmilésimas de segundo de un valor de fecha y hora. No se muestran ceros finales. No se muestra nada si los cuatro dígitos significativos son cero y, en ese caso, no se muestra el separador decimal que sigue al número de segundos.

Aunque es posible mostrar las diez milésimas de un segundo componente de un valor de hora, es posible que ese valor no sea significativo. La precisión de los valores de fecha y hora depende de la resolución del reloj del sistema. En los sistemas operativos Windows Server 2019 y Windows 11, la resolución del reloj es de aproximadamente 1 milisegundos.

Volver a la tabla

Especificador de formato personalizado "FFFFF"

El especificador de formato personalizado "FFFFF" representa los cinco dígitos más significativos de la fracción de segundos; es decir, representa las cienmilésimas de segundo de un valor de fecha y hora. No se muestran ceros finales. No se muestra nada si los cinco dígitos significativos son cero y, en ese caso, no se muestra el separador decimal que sigue al número de segundos.

Aunque es posible mostrar las centésimas milésimas de segundo componente de un valor de hora, es posible que ese valor no sea significativo. La precisión de los valores de fecha y hora depende de la resolución del reloj del sistema. En los sistemas operativos Windows Server 2019 y Windows 11, la resolución del reloj es de aproximadamente 1 milisegundos.

Volver a la tabla

Especificador de formato personalizado "FFFFFF"

El especificador de formato personalizado "FFFFFF" representa los seis dígitos más significativos de la fracción de segundos; es decir, representa las millonésimas de segundo de un valor de fecha y hora. No se muestran ceros finales. No se muestra nada si los seis dígitos significativos son cero y, en ese caso, no se muestra el separador decimal que sigue al número de segundos.

Aunque es posible mostrar la millonésima parte de un segundo componente de un valor de hora, es posible que ese valor no sea significativo. La precisión de los valores de fecha y hora depende de la resolución del reloj del sistema. En los sistemas operativos Windows Server 2019 y Windows 11, la resolución del reloj es de aproximadamente 1 milisegundos.

Volver a la tabla

Especificador de formato personalizado "FFFFFFF"

El especificador de formato personalizado "FFFFFFF" representa los siete dígitos más significativos de la fracción de segundos; es decir, representa las diezmillonésimas de segundo de un valor de fecha y hora. No se muestran ceros finales. No se muestra nada si los siete dígitos significativos son cero y, en ese caso, el separador decimal que sigue al número de segundos tampoco se muestra.

Aunque es posible mostrar las diez millonésimas de un segundo componente de un valor de hora, es posible que ese valor no sea significativo. La precisión de los valores de fecha y hora depende de la resolución del reloj del sistema. En los sistemas operativos Windows Server 2019 y Windows 11, la resolución del reloj es de aproximadamente 1 milisegundos.

Volver a la tabla

Especificador de formato de era "g"

Especificador de formato personalizado "g" o "gg"

Los especificadores de formato personalizado «g» o «gg» (más cualquier número de especificadores «g» adicionales) representan el período o la era, como A.D. La operación de formato omite este especificador si la fecha a la que se va a dar formato no tiene una cadena de período o era asociada.

Si el especificador de formato "g" se usa sin otros especificadores de formato personalizado, se interpretará como el especificador de formato de fecha y hora estándar "g". Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

En el ejemplo siguiente se incluye el especificador de formato personalizado "g" en una cadena 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

Volver a la tabla

Especificador de formato de hora en minúsculas "h"

Especificador de formato personalizado "h"

El especificador de formato personalizado "h" representa la hora como un número del 1 al 12; es decir, la hora se representa como en un reloj de 12 horas que cuenta las horas enteras desde medianoche o mediodía. Una hora determinada después de la medianoche no se distingue de la misma hora después del mediodía. La hora no se redondea y se da formato a una hora de un solo dígito sin un cero inicial. Por ejemplo, dada una hora de 5:43 de la mañana o de la tarde, este especificador de formato personalizado muestra "5".

Si el especificador de formato "h" se usa sin otros especificadores de formato personalizado, se interpreta como un especificador de formato de fecha y hora estándar y produce un error de expresión. Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

En el ejemplo siguiente se incluye el especificador de formato personalizado "h" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "hh"

El especificador de formato personalizado "hh" (más cualquier número de especificadores "h" adicionales) representa la hora como un número del 01 al 12; es decir, la hora se representa como en un reloj de 12 horas que cuenta las horas enteras desde medianoche o mediodía. Una hora determinada después de la medianoche no se distingue de la misma hora después del mediodía. La hora no se redondea y se da formato a una hora de un solo dígito con un cero inicial. Por ejemplo, dada una hora de 5:43 de la mañana o de la tarde, este especificador de formato muestra "05".

En el ejemplo siguiente se incluye el especificador de formato personalizado "hh" en una cadena 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

Volver a la tabla

Especificador de formato de hora en mayúsculas "H"

Especificador de formato personalizado "H"

El especificador de formato personalizado "H" representa la hora como un número del 0 al 23; es decir, la hora se representa como en un reloj de 24 horas de base cero que cuenta las horas desde medianoche. Una hora con un solo dígito tiene un formato sin un cero inicial.

Si el especificador de formato "H" se usa sin otros especificadores de formato personalizado, se interpreta como especificador de formato de fecha y hora estándar y produce un error de expresión. Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

En el ejemplo siguiente se incluye el especificador de formato personalizado "H" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "HH"

El especificador de formato personalizado "HH" (más cualquier número de especificadores "H" adicionales) representa la hora como un número del 00 al 23; es decir, la hora se representa como en un reloj de 24 horas de base cero que cuenta las horas desde medianoche. Una hora con un solo dígito tiene un formato con un cero inicial.

En el ejemplo siguiente se incluye el especificador de formato personalizado "HH" en una cadena 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

Volver a la tabla

Especificador de formato de zona horaria "K"

Especificador de formato personalizado "K"

El especificador de formato personalizado "K" representa la información de zona horaria de un valor de fecha y hora. Cuando este especificador de formato se usa con valores DateTimeZone , la cadena de resultado se define como:

  • Para la zona horaria local, este especificador genera una cadena de resultado que contiene el desplazamiento local de la hora universal coordinada (UTC), por ejemplo, "-07:00", si la consulta se ejecuta en Power Query Desktop. Si la consulta se ejecuta en Power Query Online, la cadena de resultado no genera ningún desplazamiento desde la hora UTC, es decir, "+00:00".

  • Para una hora UTC, la cadena de resultado no genera ningún desplazamiento a partir de la hora UTC; es decir, "+00:00 para representar una fecha UTC.

  • Para una hora de una zona horaria no especificada, el resultado está vacío.

Si el especificador de formato "K" se usa sin otros especificadores de formato personalizado, se interpreta como especificador de formato de fecha y hora estándar y produce un error de expresión. Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

En el ejemplo siguiente se muestra la cadena resultante del uso del especificador de formato personalizado "K" con varios valores en un sistema de la zona horaria del Pacífico de EE. UU.

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:

El valor devuelto por DateTimeZone.LocalNow depende de si ejecuta Power Query en una máquina local o en línea. Por ejemplo, en el ejemplo anterior en un sistema de la zona horaria del Pacífico de EE. UU., Power Query Desktop devuelve -07:00 porque lee la hora establecida en el equipo local. Sin embargo, Power Query Online devuelve +00:00 porque lee la hora establecida en las máquinas virtuales en la nube, que se establecen en UTC.

Volver a la tabla

Especificador de formato de minuto "m"

Especificador de formato personalizado "m"

El especificador de formato personalizado "m" representa el minuto como un número de 0 a 59. El minuto representa los minutos enteros que han transcurrido desde la última hora. Un minuto con un solo dígito tiene un formato sin un cero inicial.

Si el especificador de formato "m" se usa sin otros especificadores de formato personalizado, se interpretará como el especificador de formato de fecha y hora estándar "m". Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

En el ejemplo siguiente se incluye el especificador de formato personalizado "m" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "mm"

El especificador de formato personalizado "mm" (más cualquier número de especificadores "m" adicionales) representa el minuto como un número de 00 a 59. El minuto representa los minutos enteros que han transcurrido desde la última hora. Un minuto con un solo dígito tiene un formato con un cero inicial.

En el ejemplo siguiente se incluye el especificador de formato personalizado "mm" en una cadena 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

Volver a la tabla

Especificador de formato de mes "M"

Especificador de formato personalizado "M"

El especificador de formato personalizado "M" representa el mes como un número del 1 al 12 (o del 1 al 13 para los calendarios con 13 meses). Un mes con un solo dígito tiene un formato sin un cero inicial.

Si el especificador de formato "M" se usa sin otros especificadores de formato personalizado, se interpretará como el especificador de formato de fecha y hora estándar "M". Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

En el ejemplo siguiente se incluye el especificador de formato personalizado "M" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "MM"

El especificador de formato personalizado "MM" representa el mes como un número del 01 al 12 (o del 1 al 13 para los calendarios con 13 meses). Un mes con un solo dígito tiene un formato con un cero inicial.

En el ejemplo siguiente se incluye el especificador de formato personalizado "MM" en una cadena de formato personalizado.

let
    Source =
    {
        DateTime.ToText(#datetime(2024, 1, 2, 6, 30, 15), [Format = "dd, MM", Culture = ""])
        // Displays 02, 01
    }
in
    Source

Volver a la tabla

Especificador de formato personalizado "MMM"

El especificador de formato personalizado "MMM" representa el nombre abreviado del mes. El nombre abreviado localizado del mes se recupera de los nombres de mes abreviados de la referencia cultural actual o especificada. Si hay un especificador de formato personalizado "d" o "dd" en la cadena de formato personalizado, el nombre del mes se recupera de los nombres genitivos abreviados en su lugar.

En el ejemplo siguiente se incluye el especificador de formato personalizado "MMM" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "MMMM"

El especificador de formato personalizado "MMMM" representa el nombre completo del mes. El nombre localizado del mes se recupera de la referencia cultural actual o especificada. Si hay un especificador de formato personalizado "d" o "dd" en la cadena de formato personalizado, el nombre del mes se recupera de los nombres genitivos abreviados en su lugar.

En el ejemplo siguiente se incluye el especificador de formato personalizado "MMMM" en una cadena 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

Volver a la tabla

Especificador de formato de segundos "s"

Especificador de formato personalizado "s"

El especificador de formato personalizado "s" representa los segundos como un número de 0 a 59. El resultado representa los segundos enteros que han transcurrido desde el último minuto. Un segundo con un solo dígito tiene un formato sin un cero inicial.

Si el especificador de formato "s" se usa sin otros especificadores de formato personalizado, se interpretará como el especificador de formato de fecha y hora estándar "s". Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

En el ejemplo siguiente se incluye el especificador de formato personalizado "s" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "ss"

El especificador de formato personalizado "ss" (más cualquier número de especificadores "s" adicionales) representa los segundos como un número de 00 a 59. El resultado representa los segundos enteros que han transcurrido desde el último minuto. Un segundo con un solo dígito tiene un formato con un cero inicial.

En el ejemplo siguiente se incluye el especificador de formato personalizado "ss" en una cadena 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

Volver a la tabla

Especificador de formato de merídiem "t"

Especificador de formato personalizado "t"

El especificador de formato personalizado "t" representa el primer carácter del designador AM/PM. El designador localizado adecuado se recupera de la referencia cultural actual o específica. El designador AM se usa para todas las horas de 0:00:00 (medianoche) a 11:59:59.999. El designador PM se usa para todas las horas de 12:00:00 (mediodía) a 23:59:59.999.

Si el especificador de formato "t" se usa sin otros especificadores de formato personalizado, se interpretará como el especificador de formato de fecha y hora estándar "t". Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

En el ejemplo siguiente se incluye el especificador de formato personalizado "t" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "tt"

El especificador de formato personalizado "tt" (más cualquier número de especificadores "t" adicionales) representa designador AM/PM completo. El designador localizado adecuado se recupera de la referencia cultural actual o específica. El designador AM se usa para todas las horas de 0:00:00 (medianoche) a 11:59:59.999. El designador PM se usa para todas las horas de 12:00:00 (mediodía) a 23:59:59.999.

Asegúrese de usar el especificador "tt" para aquellos idiomas en los que sea necesario mantener la distinción entre a. m. y p. m. Un ejemplo es el japonés, en el que los designadores de a.m. y p.m. se diferencian en el segundo carácter en vez de en el primero.

En el ejemplo siguiente se incluye el especificador de formato personalizado "tt" en una cadena 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

Volver a la tabla

Especificador de formato de año "y"

Especificador de formato personalizado "y"

El especificador de formato personalizado "y" representa el año como un número de uno o dos dígitos. Si el año tiene más de dos dígitos, en el resultado sólo aparecen los dos dígitos de orden inferior. Si el primer dígito de un año de dos dígitos comienza con un cero (por ejemplo, 2008), se aplica formato al número sin el cero inicial.

Si el especificador de formato "y" se usa sin otros especificadores de formato personalizado, se interpretará como el especificador de formato de fecha y hora estándar "y". Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

En el ejemplo siguiente se incluye el especificador de formato personalizado "y" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "yy"

El especificador de formato personalizado "yy" representa el año como un número de dos dígitos. Si el año tiene más de dos dígitos, en el resultado sólo aparecen los dos dígitos de orden inferior. Si el año de dos dígitos tiene menos de dos dígitos significativos, el número se rellenará con ceros iniciales hasta obtener dos dígitos.

En una operación de análisis, se interpreta un año de dos dígitos que se analiza mediante el especificador de formato personalizado "yy" en función del calendario actual del proveedor de formato. En el ejemplo siguiente se analiza la representación en forma de cadena de una fecha con un año de dos dígitos utilizando el calendario gregoriano predeterminado de la referencia cultural actual (en este caso, en-US). Los valores devueltos para la fecha de cuatro dígitos dependen del intervalo de 100 años establecido por el sistema operativo.

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

En el ejemplo siguiente se incluye el especificador de formato personalizado "yy" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "yyy"

El especificador de formato personalizado "yyy" representa el año con un mínimo de tres dígitos. Si el año tiene más de tres dígitos significativos, se incluyen en la cadena de resultado. Si el año tiene menos de tres dígitos, el número se rellenará con ceros iniciales hasta obtener tres dígitos.

Nota:

Para el calendario budista tailandés, que puede tener años de cinco dígitos, este especificador de formato muestra todos los dígitos significativos.

En el ejemplo siguiente se incluye el especificador de formato personalizado "yyy" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "yyyy"

El especificador de formato personalizado "Yyyy" representa el año con un mínimo de cuatro dígitos. Si el año tiene más de cuatro dígitos significativos, se incluyen en la cadena resultante. Si el año tiene menos de cuatro dígitos, el número se completa con ceros iniciales hasta obtener cuatro dígitos.

Nota:

En el calendario budista tailandés, que puede tener años de cinco dígitos, este especificador de formato muestra un mínimo de cuatro dígitos.

En el ejemplo siguiente se incluye el especificador de formato personalizado "yyyy" en una cadena 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

Volver a la tabla

Especificador de formato personalizado "yyyyy"

El especificador de formato personalizado "yyyyy" (más cualquier número de especificadores "y" adicionales) representa el año con un mínimo de cinco dígitos. Si el año tiene más de cinco dígitos significativos, se incluyen en la cadena resultante. Si el año tiene menos de cinco dígitos, el número se rellenará con ceros iniciales hasta obtener cinco dígitos.

Si hay especificadores "y" adicionales, el número se rellenará con tantos ceros iniciales como sean necesarios para obtener el número de especificadores "y".

En el ejemplo siguiente se incluye el especificador de formato personalizado "yyyyy" en una cadena 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

Volver a la tabla

Especificador de formato de desfase "z"

Especificador de formato personalizado "z"

Con los valores dateTimeZone , el especificador de formato personalizado "z" representa el desplazamiento firmado de la zona horaria especificada de la hora universal coordinada (UTC), medida en horas. La diferencia horaria se muestra siempre con un signo inicial. Un signo más (+) indica las horas de adelanto y un signo menos (-) indica las horas de retraso con respecto a la hora UTC. Un desfase con un solo dígito tiene un formato sin un cero inicial.

En la tabla siguiente se muestra cómo cambia el valor de desplazamiento en función de la función DateTimeZone .

Valor de DateTimeZone Valor de desplazamiento
DateTimeZone.LocalNow En Power Query Desktop, el desplazamiento firmado de la zona horaria del sistema operativo local desde UTC. En Power Query Online, devuelve +00.
DateTimeZone.UtcNow Devuelve +0.

Si el especificador de formato "z" se usa sin otros especificadores de formato personalizado, se interpreta como un especificador de formato de fecha y hora estándar y produce un error de expresión. Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

En el ejemplo siguiente se incluye el especificador de formato personalizado "z" en una cadena de formato personalizado en un sistema de la zona horaria del Pacífico de EE. UU.

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:

El valor devuelto por DateTimeZone.LocalNow depende de si ejecuta Power Query en una máquina local o en línea. Por ejemplo, en el ejemplo anterior en un sistema de la zona horaria del Pacífico de EE. UU., Power Query Desktop devuelve {0:-7} porque lee la hora establecida en el equipo local. Sin embargo, Power Query Online devuelve {0:+0} porque lee la hora establecida en las máquinas virtuales en la nube, que se establecen en UTC.

Volver a la tabla

Especificador de formato personalizado "zz"

Con los valores DateTimeZone , el especificador de formato personalizado "zz" representa el desplazamiento firmado de la zona horaria especificada de UTC, medida en horas. La diferencia horaria se muestra siempre con un signo inicial. Un signo más (+) indica las horas de adelanto y un signo menos (-) indica las horas de retraso con respecto a la hora UTC. Un desfase con un solo dígito tiene un formato con un cero inicial.

En la tabla siguiente se muestra cómo cambia el valor de desplazamiento en función de la función DateTimeZone .

Valor de DateTimeZone Valor de desplazamiento
DateTimeZone.LocalNow En Power Query Desktop, el desplazamiento firmado de la zona horaria del sistema operativo local desde UTC. En Power Query Online, devuelve +00.
DateTimeZone.UtcNow Devuelve +00.

En el ejemplo siguiente se incluye el especificador de formato personalizado "zz" en una cadena de formato personalizado en un sistema de la zona horaria del Pacífico de EE. UU.

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:

El valor devuelto por DateTimeZone.LocalNow depende de si ejecuta Power Query en una máquina local o en línea. Por ejemplo, en el ejemplo anterior en un sistema de la zona horaria del Pacífico de EE. UU., Power Query Desktop devuelve {0:-07} porque lee la hora establecida en el equipo local. Sin embargo, Power Query Online devuelve {0:+00} porque lee la hora establecida en las máquinas virtuales en la nube, que se establecen en UTC.

Volver a la tabla

Especificador de formato personalizado "zzz"

Con los valores DateTimeZone , el especificador de formato personalizado "zzz" representa el desplazamiento firmado de la zona horaria especificada de UTC, medida en horas y minutos. La diferencia horaria se muestra siempre con un signo inicial. Un signo más (+) indica las horas de adelanto y un signo menos (-) indica las horas de retraso con respecto a la hora UTC. Un desfase con un solo dígito tiene un formato con un cero inicial.

En la tabla siguiente se muestra cómo cambia el valor de desplazamiento en función de la función DateTimeZone .

Valor dateTimeZoneValue Valor de desplazamiento
DateTimeZone.LocalNow En Power Query Desktop, el desplazamiento firmado de la zona horaria del sistema operativo local desde UTC. En Power Query Online, devuelve +00.
DateTimeZone.UtcNow Devuelve +00:00.

En el ejemplo siguiente se incluye el especificador de formato personalizado "zzz" en una cadena de formato personalizado en un sistema de la zona horaria del Pacífico de EE. UU.

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:

El valor devuelto por DateTimeZone.LocalNow depende de si ejecuta Power Query en una máquina local o en línea. Por ejemplo, en el ejemplo anterior en un sistema de la zona horaria del Pacífico de EE. UU., Power Query Desktop devuelve {0:-07:00} porque lee la hora establecida en el equipo local. Sin embargo, Power Query Online devuelve {0:+00:00} porque lee la hora establecida en las máquinas virtuales en la nube, que se establecen en UTC.

Volver a la tabla

Especificadores de separador de fecha y hora

Especificador de formato personalizado ":"

El especificador de formato personalizado ":" representa el separador de hora, que se usa para diferenciar horas, minutos y segundos. El separador de hora localizado adecuado se recupera de la referencia cultural actual o especificada.

Nota:

Para cambiar el separador de hora en una determinada cadena de fecha y hora, especifique el carácter separador en un delimitador de cadena literal. Por ejemplo, la cadena de formato personalizado hh_dd_ss genera una cadena en que "_" (guión bajo) siempre se utiliza como separador de hora.

Si el especificador de formato ":" se usa sin otros especificadores de formato personalizado, se interpreta como especificador de formato de fecha y hora estándar y produce un error de expresión. Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

Volver a la tabla

Especificador de formato personalizado "/"

El especificador de formato personalizado "/" representa el separador de fecha, que se usa para diferenciar años, meses y días. El separador de fecha localizado adecuado se recupera de la referencia cultural actual o especificada.

Nota:

Para cambiar el separador de fecha en una determinada cadena de fecha y hora, especifique el carácter separador en un delimitador de cadena literal. Por ejemplo, la cadena de formato personalizado mm/dd/yyyy genera una cadena en que "/" siempre se utiliza como separador de fecha.

Si el especificador de formato "/" se usa sin otros especificadores de formato personalizado, se interpreta como especificador de formato de fecha y hora estándar y produce un error de expresión. Para obtener más información sobre el uso de un especificador de formato único, vaya a Usar especificadores de formato personalizado único más adelante en este artículo.

Volver a la tabla

Literales de carácter

Los siguientes caracteres de una cadena de formato de fecha y hora personalizada están reservados y siempre se interpretan como caracteres de formato o, en el caso de ", ', / y \, como caracteres especiales.

  • F
  • H
  • K
  • M
  • d
  • f
  • g
  • h
  • m
  • s
  • t
  • y
  • z
  • %
  • :
  • /
  • "
  • '
  • \

Todos los demás caracteres se interpretan siempre como literales de carácter y, en una operación de formato, se incluyen en la cadena de resultado sin modificar. En una operación de análisis, deben coincidir exactamente con los caracteres de la cadena de entrada; la comparación distingue entre mayúsculas y minúsculas.

En el ejemplo siguiente se incluyen los caracteres literales "PST" (para hora estándar del Pacífico) y "PDT" (para horario de verano del Pacífico) para representar la zona horaria local en una cadena de formato. Tenga en cuenta que la cadena se incluye en la cadena de resultado y que una cadena que incluye la cadena de zona horaria local también se analiza correctamente.

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

Hay dos formas de indicar que los caracteres se han de interpretar como caracteres literales y no como caracteres de reserva, para que se puedan incluir en una cadena de resultado o analizarse correctamente en una cadena de entrada:

  • Al incluir un escape con cada carácter reservado. Para obtener más información, vaya a Uso de las secuencias de escape.

    En el ejemplo siguiente se incluyen los caracteres literales "pst" (para hora estándar del Pacífico) para representar la zona horaria local en una cadena de formato. Como "s" y "t" son cadenas de formato personalizado, ambos caracteres deben incluir un escape para interpretarse como literales de carácter.

    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
    
  • Al incluir toda la cadena literal en apóstrofos. El ejemplo siguiente es similar al anterior, salvo que "pst" está entre apóstrofos para indicar que toda la cadena delimitada debe interpretarse como literales 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

Usar especificadores de formato personalizado únicos

Una cadena con formato de fecha y hora personalizado se compone de dos o más caracteres. Los métodos de formato de fecha y hora interpretan cualquier cadena de un único carácter como una cadena de formato de fecha y hora estándar. Si no reconocen el carácter como especificador de formato válido, producen un error de expresión. Por ejemplo, una cadena de formato que solo se compone del especificador "h" se interpreta como una cadena de formato de fecha y hora estándar. Pero en este caso concreto se inicia una excepción porque no existe ningún especificador de formato de fecha y hora estándar "h".

Para usar cualquiera de los especificadores de formato de fecha y hora personalizado como el único especificador en una cadena de formato (es decir, usar el especificador de formato personalizado "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" o "/"), incluya un espacio delante o detrás del especificador, o incluya un especificador de formato de porcentaje ("%") delante del único especificador de fecha y hora personalizado.

Por ejemplo, "%h" se interpreta como una cadena de formato de fecha y hora personalizado que muestra la hora representada por el valor de fecha y hora actual. También puede usar la cadena de formato " h" o "h ", aunque esto incluye un espacio en la cadena de resultado junto con la hora. En el ejemplo siguiente se muestran estas tres cadenas 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 ' 

Uso de las secuencias de escape

Los caracteres "d", "f", "F", "g", "h", "H", "K", "m", "M", "s", "t", "y", "z", ":" o "/" en una cadena de formato se interpretan como especificadores de formato personalizado en lugar de como caracteres literales.

Para evitar que un carácter se interprete como especificador de formato, puede hacer lo siguiente:

  • Precedítelo con una barra diagonal inversa.
  • Envolverlo con una sola comilla.
  • Envolverlo con dos comillas dobles.

Cada uno de estos caracteres actúa como una secuencia de escape. La secuencia de escape indica que el siguiente carácter o carácter rodeado es un literal de texto que debe incluirse en la cadena de resultado sin cambios.

Para incluir una comilla doble en una cadena de resultado, debe escaparla con otra comilla doble ("").

En el ejemplo siguiente se usan diferentes secuencias de escape para evitar que la operación de formato interprete los caracteres "h" y "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