将 CURRENT_TIMESTAMP() 时间从 UTC 转换为 ET

Convert CURRENT_TIMESTAMP() time from UTC to ET

我正在使用 CURRENT_TIMESTAMP() Spark SQL 的时间函数更新我的数据框字段 创建日期 .返回的值采用 UTC 时区。

我想要东部时间的值(处理了夏令时)。当我将 SQL 查询传递给 sqlContext.sql 时,我想转换时区。我怎样才能做到这一点?

谢谢。

您可以使用 from_utc_timestamp 函数来执行此操作。

import org.apache.spark.sql.types.TimestampType

// This sample syntax. You can replace your value at literal location.
from_utc_timestamp(lit("2018-12-01 00:00:00").cast(TimestampType), "EST5EDT")

这必须处理夏令时。