HQL (HIVE) date_format 在 2021 年 12 月 25 日之后增加一年
HQL (HIVE) date_format adding an extra year after Dec 25th 2021
我不确定这是否只是在我的本地实例上,或者这是否是一个基本问题,但对我来说在蜂巢中 date_format 在 2021 年 12 月 25 日之后跳了一年。
Select date_format('2021-12-25','YYYY-MM-dd') as Correct2021
,date_format('2021-12-26','YYYY-MM-dd') as Wrong2022
,date_format(date_add(current_date,51),'YYYY-MM-dd') as Correct2021b
,date_format(date_add(current_date,52),'YYYY-MM-dd') as Wrong2022b
上面的代码对我来说returns
correct2021
wrong2022
correct2021b
wrong2022b
2021-12-25
2022-12-26
2021-12-25
2022-12-26
如果 运行 日期与 11/4/2021 不同,您需要调整添加日期。
事实证明这是 java 问题 'Y' 与 'y'。
问题描述如下:
Y returns 2012 while y returns 2011 in SimpleDateFormat
Y 模式是一周年 - 某个周所属的一年。
y - 是您所需要的
Select date_format('2021-12-25','yyyy-MM-dd') as Correct2021
,date_format('2021-12-26','yyyy-MM-dd') as Wrong2022
,date_format(date_add(current_date,51),'yyyy-MM-dd') as Correct2021b
,date_format(date_add(current_date,52),'yyyy-MM-dd') as Wrong2022b
另见
我不确定这是否只是在我的本地实例上,或者这是否是一个基本问题,但对我来说在蜂巢中 date_format 在 2021 年 12 月 25 日之后跳了一年。
Select date_format('2021-12-25','YYYY-MM-dd') as Correct2021
,date_format('2021-12-26','YYYY-MM-dd') as Wrong2022
,date_format(date_add(current_date,51),'YYYY-MM-dd') as Correct2021b
,date_format(date_add(current_date,52),'YYYY-MM-dd') as Wrong2022b
上面的代码对我来说returns
correct2021 | wrong2022 | correct2021b | wrong2022b |
---|---|---|---|
2021-12-25 | 2022-12-26 | 2021-12-25 | 2022-12-26 |
如果 运行 日期与 11/4/2021 不同,您需要调整添加日期。
事实证明这是 java 问题 'Y' 与 'y'。
问题描述如下: Y returns 2012 while y returns 2011 in SimpleDateFormat
Y 模式是一周年 - 某个周所属的一年。
y - 是您所需要的
Select date_format('2021-12-25','yyyy-MM-dd') as Correct2021
,date_format('2021-12-26','yyyy-MM-dd') as Wrong2022
,date_format(date_add(current_date,51),'yyyy-MM-dd') as Correct2021b
,date_format(date_add(current_date,52),'yyyy-MM-dd') as Wrong2022b
另见