请帮助理解为什么
date_format
无法在 8:15am提取
08:15
?
spark.sql("select date_format(date '1994-11-05T08:15:30-05:00', 'hh:mm') AS hour_in_day_number").show()
+------------------+
|hour_in_day_number|
+------------------+
| 12:00|
+------------------+
spark.sql("select date_format(date '1994-11-05T08:15:30-05:00', 'HH:mm') AS hour_in_day_number").show()
+------------------+
|hour_in_day_number|
+------------------+
| 00:00|
+------------------+
spark.sql("select date_format(date '1994-11-05T08:15:30-05:00', 'kk:mm') AS hour_in_day_number").show()
+------------------+
|hour_in_day_number|
+------------------+
| 24:00|
+------------------+
示例
1994-11-05T08:15:30-05:00 对应于 1994 年 11 月 5 日上午 8:15:30,美国东部标准时间。
符号 | 意义 | 演示 | 示例 |
---|---|---|---|
G | 时代 | 文字 | AD;安诺·多米尼 |
y | 年 | 年 | 2020; 20 |
D | 一年中的某一天 | 数量(3) | 189 |
中号/中号 | 一年中的月份 | 月 | 7; 07;七月;七月 |
d | 每月的某天 | 数量(3) | 28 |
Q/q | 季度 | 数字/文字 | 3; 03; Q3;第三季度 |
E | 星期几 | 文字 | 周二;星期二 |
F | 对齐月份中的星期几 | 数字(1) | 3 |
a | 当天上午-下午 | 上午-下午 | 下午 |
h | 上午-下午 (1-12) | 数字(2) | 12 |
K | 上午-下午 (0-11) | 数字(2) | 0 |
k | 一天中的时钟时间 (1-24) | 数字(2) | 0 |
H | 一天中的某个小时(0-23) | 数字(2) | 0 |
米 | 每小时分钟 | 数字(2) | 30 |
s | 每分钟 | 数字(2) | 55 |
S | 秒的小数部分 | 分数 | 978 |
V | 时区ID | 区域 ID | 美国/洛杉矶; Z; -08:30 |
z | 时区名称 | 区域名称 | 太平洋标准时间;太平洋标准时间 |
O | 局部区域偏移 | 偏移-O | 格林威治标准时间+8;格林尼治标准时间+08:00; UTC-08:00; |
X | 区域偏移“Z”为零 | 偏移-X | Z; -08; -0830; -08:30; -083015; -08:30:15; |
x | 区域偏移 | 偏移量-x | +0000; -08; -0830; -08:30; -083015; -08:30:15; |
Z | 区域偏移 | 偏移-Z | +0000; -0800; -08:00; |
$ spark-submit --version
Welcome to
____ __
/ __/__ ___ _____/ /__
_\ \/ _ \/ _ `/ __/ '_/
/___/ .__/\_,_/_/ /_/\_\ version 3.1.2
/_/
Using Scala version 2.12.10, OpenJDK 64-Bit Server VM, 1.8.0_312
Branch HEAD
Compiled by user centos on 2021-05-24T04:27:48Z
Revision de351e30a90dd988b133b3d00fa6218bfcaba8b8
Url https://github.com/apache/spark
Type --help for more information.
您使用了
date
,它只保留年月日。
您可以尝试使用
timestamp
,如下所示:
scala> spark.sql("select date_format(timestamp '1994-11-05T08:15:30-05:00', 'hh:mm') AS hour_in_day_number").show()
+------------------+
|hour_in_day_number|
+------------------+
| 05:15|
+------------------+