Datetime模式
适用于:砖的SQL砖运行时
有几种常见的场景datetime砖的使用:
CSV和JSON数据源使用模式字符串解析和格式化datetime内容。
Datetime函数相关的转换
字符串
与日期
或时间戳
。例如:
模式表
砖使用模式字母在下表中解析和格式化日期和时间戳:
象征 |
意义 |
演讲 |
例子 |
---|---|---|---|
G |
时代 |
文本 |
广告;公元 |
y |
一年 |
一年 |
2020;20. |
D |
day-of-year |
(3)数量 |
189年 |
M / L |
month-of-year |
月 |
7;07年;7月;7月 |
d |
月的日期 |
(3)数量 |
28 |
Q /问 |
quarter-of-year |
数字/文本 |
3;03;第三季度;第三季度的 |
E |
一周中的第几天 |
文本 |
星期二;周二 |
F |
周月对齐的一天 |
数量(1) |
3 |
一个 |
am-pm-of-day |
am-pm |
点 |
h |
clock-hour-of-am-pm (1 - 12) |
(2)数量 |
12 |
K |
hour-of-am-pm(划分) |
(2)数量 |
0 |
k |
clock-hour-of-day (24) |
(2)数量 |
0 |
H |
hour-of-day (0-23) |
(2)数量 |
0 |
米 |
minute-of-hour |
(2)数量 |
30. |
年代 |
second-of-minute |
(2)数量 |
55 |
年代 |
fraction-of-second |
分数 |
978年 |
V |
时区ID |
zone-id |
美国/ Los_Angeles;Z;塔利班) |
z |
时区名称 |
区域名称 |
太平洋标准时间;太平洋标准时间 |
O |
本地化zone-offset |
offset-O |
格林尼治标准时间+ 8;格林尼治标准时间+喂饲;UTC-08:00; |
X |
zone-offset ' Z '为零 |
offset-X |
Z;-08;-0830;塔利班);-083015;08:30:15; |
x |
zone-offset |
offset-x |
+ 0000;-08;-0830;塔利班);-083015;08:30:15; |
Z |
zone-offset |
offset-Z |
+ 0000;-0800;喂饲; |
” |
逃避的文本 |
分隔符 |
|
” |
单引号 |
文字 |
” |
( |
可选部分开始 |
||
] |
可选部分结束 |
计数模式字母决定了格式。
文本:文本样式决定基于信使用的模式。少于4模式字母将使用短的文本形式,通常缩写,比如一周中的第几天周一可能输出“星期一”。正好4模式字母将使用完整的文本形式,通常完整的描述,e。g,一周中的第几天周一可能输出“星期一”。5或更多的信件将会失败。
数量(n): n代表信的最大计数可以使用这种类型的datetime模式。如果信件的数是1,然后使用最小数量的值是输出位数,没有填充。否则,数字的计数用作输出字段的宽度,在必要与价值。
数量/文本:如果计数模式字母是3或更高版本,使用上面的文本规则。否则上面使用的规则。
分数:使用一个或多个(9)连续的
“年代”
字符,例如,嘶嘶
,其次是解析和格式化的一部分。解析,可接受的部分长度可以[1,连续的数量' S ']。格式化、分数的长度将垫的数量与0连续的“年代”。砖支持datetime micro-of-second精度,6位有效数字,但可以解析nano-of-second超过部分截断。:信确定最低的计数字段宽度低于它填充。如果信件的数是2,那么减少使用两个数字组成。打印,输出最右边的两个数字。解析,这将解析使用的基础价值2000,每年导致2000 - 2099范围内的包容性。如果信件的计数小于四(但不是两个),那么只有输出负年迹象。否则,输出信号,如果垫宽度超过当‘G’不存在。7、更多的信件将会失败。
月:它遵循的规则数量/文本。文本形式取决于信-
“米”
表示“标准”形式,“L”
是“独立”的形式。这两只在某些语言形式是不同的。例如,在俄罗斯,Июль7月的独立的形式,和“Июля”是标准形式。下面是所有支持的示例模式字母:“米”
或“L”
一年:月号从1开始。没有区别“米”
和“L”
。从1到9月印刷没有填充。>选择date_format(日期“1970-01-01”,“米”);1>选择date_format(日期“1970-12-01”,“L”);12
“毫米”
或“会”
一年:月号从1开始。补零添加几个月1 - 9。>选择date_format(日期“1970-1-01”,“会”);01>选择date_format(日期“1970-09-01”,“毫米”);09年
“嗯”
:短的文本表示的标准形式。模式应该是一个月的日期模式不仅是一个独立的月除了地区没有区别和独立的形式像站在英语。>选择date_format(日期“1970-01-01”,“d嗯”);11月- - -通过一个格式模式来to_csv()>选择to_csv(named_struct(“日期”,日期“1970-01-01”),地图(“dateFormat”,“dd嗯”,“场所”,“俄罗斯”));01янв。
“嗯”
:完整的文本月代表的标准形式。用于解析/格式化月的日期/时间戳。>选择date_format(日期' 1970-01-01 ',' d嗯');1月1日——通过荒漠区格式结构to_csv() >选择to_csv (named_struct(日期,日期' 1970-01-01 '),地图(“dateFormat”、“d嗯”,“语言环境”,“俄罗斯”));1января
am-pm-of-day am-pm:这个输出。模式字母数必须是1。
区域ID (V):该输出显示时区ID。模式字母数必须是2。
区域名称(z):该输出显示文本时区ID的名称。如果计数的信件是一个,两个或三个,那么短的名字是输出。如果信件的数是四,全名是输出。5个或5个以上字母将会失败。
抵消X, X:这格式抵消基于模式字母的数量。一个字母输出小时,如“+ 1”,除非分钟零在这种情况下,一分钟也输出,如“+ 0130”。两个字母输出小时和分钟,没有一个冒号,如“+ 0130”。三个字母输出小时和分钟,冒号,如“+ 01:30”。四个字母输出小时和分钟,选第二个,没有一个冒号,如“+ 013015”。五个字母输出小时和分钟,选第二,冒号,如“+ 01:30:15”。六个或者更多的信件将会失败。模式字母“X”(大写)将输出“Z”抵消输出会是零,而字母“X”模式(小写)将输出+ 00,“+ 0000”,或“+ 00:00”。
抵消O:这个格式本地化抵消基于模式字母的数量。一个字母输出短形式的局部抵消,这是局部抵消文本,如“格林尼治时间”,与小时没有前导零,可选的便是分钟和第二如果非零,和结肠,例如“GMT + 8”。四个字母输出完整的形式,这是局部抵消文本,如“格林尼治时间,便是小时和分钟,可选的第二个字段如果非零,和结肠,例如“GMT +喂饲'。任何其他的信件将会失败。
抵消Z:这格式抵消基于模式字母的数量。一个,两个或三个字母输出小时和分钟,没有一个冒号,如“+ 0130”。输出“+ 0000”抵消为零。四个字母输出完整的局部补偿形式,相当于Offset-O的四个字母。输出相应的局部抵消文本如果抵消为零。五个字母输出小时,分钟,可选的第二个如果零、结肠。它输出' Z '如果抵消为零。六个或者更多的信件将会失败。
可选的开始和结束部分:使用
[]
定义一个可选的部分,也许嵌套。甚至在格式化,所有有效数据输出的可选部分。在解析过程中,整个部分从解析的字符串可能会丢失。一个可选的部分开始(
最后使用]
月底(或模式)。“E”的象征,“F”,“问”和“问”只能用于datetime格式,例如
date_format
。他们不允许用于datetime解析,如。to_timestamp
。