Convertir fecha y hora en UTC a PST

Un usuario Pregunto ✅

vincenardo

Tengo un campo de fecha / hora procedente de una conexión con Salesforce. La fecha / hora se almacena en UTC y necesito transformarla a PST (nuestra hora local).

Intenté editar la consulta y ‘transformarla’ cambiando el tipo de datos a FECHA / HORA / ZONA HORARIA. Todo lo que hizo fue agregar la zona horaria al campo.

vincenardo_0-1629342980113.png

¿Cómo convierto este valor a la zona horaria actual?

¡¡Gracias!!

@vincenardo
DateTimeZone.ToLocal () debería funcionar. Este blog explica los pasos en detalle.

Manejo de diferentes zonas horarias en Power BI / Power Query

¿Cuál es el tipo de datos original de las columnas de fecha corta de la pantalla? Para los errores, es posible compartir un archivo pbix que incluye una pequeña muestra.

Paul Zheng _ Equipo de apoyo comunitario

Watkinnc

¿Puede decirme qué dice el error o publicar el código M desde el editor avanzado?

También puede intentar agregar la palabra «cada uno» antes de las funciones DateTimeZone. O intente reemplazar DateTimeZone.ToLocal con cada DateTimeZone.SwitchZone (_, -8). Sin embargo, hagas lo que hagas, debes hacerlo una vez, en otras palabras, no cambies el tipo a DateTimeZone antes en la consulta, a menos que uses cada DateTime.AddZone ([AbsentStart], -8).

–Nate

–Nate

vincenardo

En respuesta a Watkinnc

Aquí está el error:

Expression.Error: No podemos convertir el valor #datetime (2020, 8, 18, 19, 30, 0) al tipo DateTimeZone.
Detalles:
Valor = 18/8/2020 7:30:00 p.m.
Tipo =[Type]

Watkinnc

En respuesta a vincenardo

En cualquier caso, si la columna originalmente era de tipo datetime, puede usar DateTime.AddZone ([AbsentStart], -8) para convertir a su zona horaria, o simplemente [AbsentStart] – #duración (0,8,0,0)

–Nate

Watkinnc

Prueba esto:

= Table.TransformColumns (# «Ausencia de recursos», {{«AbsentStart», DateTimeZone .ToLocal}, {«AbsentEnd», DateTimeZone.ToLocal}})

vincenardo

En respuesta a Watkinnc

Recibí este error; ??

vincenardo_0-1629554626723.png

Expression.Error: Se encontró una referencia cíclica durante la evaluación

Watkinnc

En respuesta a vincenardo

De acuerdo, el nombre de su último paso es # «Columnas 1 reordenadas», así que:

= Table.TransformColumns (# «Columns1 reordenadas», {{«AbsentStart», DateTimeZone .ToLocal}, {«AbsentEnd», DateTimeZone.ToLocal}})

vincenardo

En respuesta a Watkinnc

Agradezco la ayuda, todavía tengo un problema;

Aquí está el conjunto de datos antes de ingresar el Código que sugirió (El AbsentStart_PST estaba usando una forma diferente de convertir el AbsentStart)

vincenardo_0-1629556561926.png

Inserté el código que sugirió (Custom1) y aparece este error en AbsentStart y AbsentEnd.

vincenardo_1-1629556617496.png

¿Algunas ideas? Me gusta más su sugerencia porque el código es mucho menor que el que usé y garantizará que la hora se convierta en la hora local.

vincenardo

En respuesta a Watkinnc

Al editar la tabla, ¿puede darme los pasos sobre dónde agregarla? No sé dónde colocarlo, supongo que no está en una nueva columna. ¡Gracias!

Watkinnc

En respuesta a vincenardo

Lo sentimos, debajo de los pasos aplicados, haga clic derecho en el último paso, haga clic en «Agregar nuevo paso». Luego copie y pegue todo, incluido el «=» en la barra de fórmulas.

Watkinnc

Para hacer que la fecha y hora corrija su valor, en lugar de solo agregar la zona horaria, solo use esta función, en lugar de cambiar el tipo de datos a datetimezone:

= Table.TransformColumns (PriorStepOrTableName, {{«AbsentStart», DateTimeZone .ToLocal}, {«AbsentEnd», DateTimeZone.ToLocal}})

Esto agregará su zona horaria local a la fecha y hora, y también compensará el valor real por la diferencia en horas de UTC a PST.

–Nate

vincenardo

En respuesta a Watkinnc

¿Puede darme algunas instrucciones adicionales sobre cómo agregar esto? El nombre de la tabla es «Ausencia de recursos», no estoy seguro de dónde agregar esto …

¡Gracias!

PC2790

Hola @vincenardo

Consulte esto: https: //cloudbi.com.au/converting-utc-to-local-datetime-in-power-bi/

Es posible que pueda satisfacer sus necesidades.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *