我正在将上午/下午的日期时间转换为24小时。am的转换工作正常,但pm的转换失败并返回null。请在样品下面找到
val seq = Seq((1,"abc","123","15/3/2021 02:00:00 AM"),(2,"pqr","456","15/3/2021 04:00:00 PM"),(1,"xyz","789","15/3/2021 09:00:00 AM"))
val df = seq.toDF("id","name","addr","time")
val time = df.withColumn("time2",from_unixtime(unix_timestamp($"time","dd/MM/yyyy HH:mm:ss a"),"d MMMMM yyyy HH:mm:ss"))
+---+----+----+---------------------+----------------------+
|id |name|addr|time |time2 |
+---+----+----+---------------------+----------------------+
|1 |abc |123 |15/3/2021 02:00:00 AM|15 March 2021 02:00:00|
|2 |pqr |456 |15/3/2021 04:00:00 PM|null |
|1 |xyz |789 |15/3/2021 09:00:00 AM|15 March 2021 09:00:00|
+---+----+----+---------------------+----------------------+
有人能推荐一下吗?
1条答案
按热度按时间eqfvzcg81#
使用小写
h
为了clock-hour-of-am-pm (1-12)
(见文件)。另外,使用1M
因为给定的格式只有一个月的数字;对于结果中月份的长格式,使用4M
而不是5。