我希望在将日期字符串转换为当前时区后从日期字符串中提取年、月、日和小时。我创建了以下独立代码,该代码导致空值。不确定如何处理数据中时间格式的 T 和 Z 分隔符。
from pyspark.sql.functions import unix_timestamp, from_unixtime
df = spark.createDataFrame(
[("2020-02-28T09:49Z",)],
['date_str']
)
df2 = df.select(
'date_str',
from_unixtime(unix_timestamp('date_str', 'yyyy-MM-ddThh:mmZ')).alias('date')
)
df2.show()
Run Code Online (Sandbox Code Playgroud)
从上面的结果可以看出——
+-----------------+----+
| date_str|date|
+-----------------+----+
|2020-02-28T09:49Z|null|
+-----------------+----+
Run Code Online (Sandbox Code Playgroud)
有人可以指导我如何处理这个问题并在此处打印日期吗?