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 @MFelix
Lo intenté de nuevo y está funcionando, supongo que estaba cometiendo un error al poner la variable correcta en la fórmula.
There's solo un problema a la izquierda, parece que it's trabajar para las fechas con las que estaba teniendo problemas antes, pero isn't de trabajo para los otros que tenía. Antes de cambiar el formato:
Y después del cambio de formato:
¿Alguna idea de cómo podría hacer que funcione para ambos tipos de fecha?
¡Gracias por tu ayuda!
Guerau
Hola @GuerauFF ,
Debe usar la nueva columna como columna de fecha, por lo que debe cambiar el formato de la columna que acaba de crear y eliminar la columna inicial y, a continuación, cambiar el nombre de la nueva columna por el nombre de la anterior.
- GuerauFF6 years ago
Helper II
Hola @MFelix ,
Puedo hacerlo, pero no resuelve el problema. El problema que estoy teniendo es que con la fórmula inicial está funcionando correctamente para las fechas que terminan en PM/AM, pero me da el mensaje de error para los otros.
He intentado cambiar la última línea de la fórmula, poniendo en lugar de Datetime.From Text.Select pero tampoco funciona.
En resumen, creo que lo que tengo que hacer es adaptar la cláusula else de la fórmula que me diste para que las fechas en el formato dd/mm/aaaa hh:mm:ss se conviertan al formato dd/mm/aaaa hh:mm:ss PM/AM. Y una vez hecho esto podré formatear la nueva columna como fecha y hora y funcionará correctamente.
El problema es que no sé cómo cambiar la cláusula else así que lo hace...
¿Sabes a qué me refiero? Cualquier ayuda con la edición de la cláusula else sería apreciada!
Guerau