在spark scala中将cdt时间戳转换为utc格式

6qqygrtg  于 2021-05-27  发布在  Spark
关注(0)|答案(1)|浏览(653)

我的Dataframe,mydf就像吼叫-

DATE_TIME
Wed Sep  6 15:24:27 CDT 2017
Wed Sep  6 15:30:05 CDT 2017

预期输出格式:

2017-09-06 15:24:27
2017-09-06 15:30:05

需要将日期时间戳转换为utc。
在databricks笔记本中尝试了以下代码,但它不起作用。

%scala

val df = Seq(("Wed Sep  6 15:24:27 CDT 2017")).toDF("times")
df.withColumn("times2",date_format(to_timestamp('times,"ddd MMM dd hh:mm:ss CDT yyyy"),"yyyy-MM-dd HH:mm:ss")).show(false)

times                        | times2    
Wed Sep  6 15:24:27 CDT 2017 | null
hof1towb

hof1towb1#

我想我们需要搬走 wed 从你的线然后使用 to_timestamp() 功能。 Example: ```
df.show(false)
/*
+---------------------------+
|times |
+---------------------------+
|Wed Sep 6 15:24:27 CDT 2017|
+---------------------------+

  • /

df.withColumn("times2",expr("""to_timestamp(substring(times,5,length(times)),"MMM d HH:mm:ss z yyyy")""")).
show(false)
/*
+---------------------------+-------------------+
|times |times2 |
+---------------------------+-------------------+
|Wed Sep 6 15:24:27 CDT 2017|2017-09-06 15:24:27|
+---------------------------+-------------------+

  • /

相关问题