Timestamps aren't timezoned. If you parse ISO8601 strings they will be
converted to UTC automatically.

If you parse timestamps without timezone they will converted to the the
timezone the server Spark is running on uses. You can change the timezone
Spark uses with spark.conf.set("spark.sql.session.timeZone", "UTC").
Timestamps represent a point in time, the clock representation of that
instant is dependent on sparks timezone settings both for parsing (non
ISO8601) strings and showing timestamps.

br,

Magnus

On Tue, Mar 31, 2020 at 6:14 PM Chetan Khatri <chetan.opensou...@gmail.com>
wrote:

> Hi Spark Users,
>
> I am losing the timezone value from below format, I tried couple of
> formats but not able to make it. Can someone throw lights?
>
> scala> val sampleDF = Seq("2020-04-11T20:40:00-0500").toDF("value")
> sampleDF: org.apache.spark.sql.DataFrame = [value: string]
>
> scala> sampleDF.select('value, to_timestamp('value,
> "yyyy-MM-dd\'T\'HH:mm:ss")).show(false)
> +------------------------+------------------------------------------------+
> |value                   |to_timestamp(`value`, 'yyyy-MM-dd\'T\'HH:mm:ss')|
> +------------------------+------------------------------------------------+
> |2020-04-11T20:40:00-0500|2020-04-11 20:40:00                             |
> +------------------------+------------------------------------------------+
>
> Thanks
>

Reply via email to