Forum Discussion
Formato de fecha
- 6 years ago
Hola @GuerauFF ,
Pruebe el siguiente código:
if Text.End([DAte], 2) = "AM" or Text.End([DAte], 2) = "PM" then Text.PadStart(Text.AfterDelimiter(Text.BeforeDelimiter([DAte], "/", 1), "/", 0), 2, "0") & "/" & Text.PadStart(Text.BeforeDelimiter([DAte], "/", 0), 2, "0") & "/" & Text.AfterDelimiter([DAte], "/", 1) else Text.PadStart(Text.AfterDelimiter(Text.BeforeDelimiter([DAte], "/", 1), "/", 0), 2, "0") & "/" & Text.PadStart(Text.BeforeDelimiter([DAte], "/", 0), 2, "0") & "/" & Text.AfterDelimiter(Text.BeforeDelimiter([DAte], " ", 0), "/", 1) & " " & (if Number.FromText(Text.BeforeDelimiter(Text.AfterDelimiter([DAte], " ", 0), ":", 0)) < 12 then Text.BeforeDelimiter(Text.AfterDelimiter([DAte], " ", 0), ":", 0) else Number.ToText( Number.FromText(Text.BeforeDelimiter(Text.AfterDelimiter([DAte], " ", 0), ":", 0)) - 12 )) & ":" & Text.AfterDelimiter([DAte], ":", 0) & (if Number.FromText(Text.BeforeDelimiter(Text.AfterDelimiter([DAte], " ", 0), ":", 0)) < 12 then " AM" else " PM")
Hola @GuerauFF ,
Pruebe el siguiente código:
if Text.End([DAte], 2) = "AM" or Text.End([DAte], 2) = "PM"
then Text.PadStart(Text.AfterDelimiter(Text.BeforeDelimiter([DAte], "/", 1), "/", 0), 2, "0")
& "/"
& Text.PadStart(Text.BeforeDelimiter([DAte], "/", 0), 2, "0")
& "/"
& Text.AfterDelimiter([DAte], "/", 1)
else Text.PadStart(Text.AfterDelimiter(Text.BeforeDelimiter([DAte], "/", 1), "/", 0), 2, "0")
& "/"
& Text.PadStart(Text.BeforeDelimiter([DAte], "/", 0), 2, "0")
& "/"
& Text.AfterDelimiter(Text.BeforeDelimiter([DAte], " ", 0), "/", 1)
& " "
& (if Number.FromText(Text.BeforeDelimiter(Text.AfterDelimiter([DAte], " ", 0), ":", 0)) < 12
then Text.BeforeDelimiter(Text.AfterDelimiter([DAte], " ", 0), ":", 0)
else Number.ToText(
Number.FromText(Text.BeforeDelimiter(Text.AfterDelimiter([DAte], " ", 0), ":", 0)) - 12
))
& ":"
& Text.AfterDelimiter([DAte], ":", 0)
& (if Number.FromText(Text.BeforeDelimiter(Text.AfterDelimiter([DAte], " ", 0), ":", 0)) < 12
then " AM"
else " PM")Hey @MFelix !
Juro que será el último número. Esta mañana, cuando corrí la fórmula, pensé que funcionaba correctamente y me mudé a otras tareas, pero ahora, veo que todavía hay un problema.
En las filas que inicialmente tienen este formato: dd/mm/aaaa hh:mm:ss, de la fórmula estoy obteniendo este formato: mm/dd/aaaa hh:mm:ss AM/PM y debería estar obteniendo dd/mm/aaaa hh:mm:ss AM/PM. Supongo que sólo tengo que cambiar el orden de algunas de las filas en la fórmula, no estoy seguro de cuáles aunque...
¿Cómo sería la fórmula teniendo en cuenta este pequeño cambio?
¡Gracias!
¡¡¡Editar!!! No importa, lo tengo por mi cuenta. ¡Gracias de todos modos!
- MFelix6 years ago
Super User
Hola @GuerauFF ,
¿Tiene filas sin AM/PM que tienen dd/mm/AAAA y otras que tienen mm/dd/aaaa? o todos tienen el dd/mm/aaaa?
En la pantalla que presente que no es legible.
Pruebe esta medida:
if Text.End([DAte], 2) = "AM" or Text.End([DAte], 2) = "PM" then Text.PadStart(Text.AfterDelimiter(Text.BeforeDelimiter([DAte], "/", 1), "/", 0), 2, "0") & "/" & Text.PadStart(Text.BeforeDelimiter([DAte], "/", 0), 2, "0") & "/" & Text.AfterDelimiter([DAte], "/", 1) else Text.PadStart(Text.AfterDelimiter(Text.BeforeDelimiter([DAte], "/", 1), "/", 0), 2, "0") & "/" & Text.AfterDelimiter(Text.BeforeDelimiter([DAte], " ", 0), "/", 1) & "/" & Text.PadStart(Text.BeforeDelimiter([DAte], "/", 0), 2, "0") & " " & (if Number.FromText(Text.BeforeDelimiter(Text.AfterDelimiter([DAte], " ", 0), ":", 0)) < 12 then Text.BeforeDelimiter(Text.AfterDelimiter([DAte], " ", 0), ":", 0) else Number.ToText( Number.FromText(Text.BeforeDelimiter(Text.AfterDelimiter([DAte], " ", 0), ":", 0)) - 12 )) & ":" & Text.AfterDelimiter([DAte], ":", 0) & (if Number.FromText(Text.BeforeDelimiter(Text.AfterDelimiter([DAte], " ", 0), ":", 0)) < 12 then " AM" else " PM")