Date_format 转换将边界日期增加 1 年
Date_format conversion is adding 1 year to the border dates
当我对 12 月 31 日日期使用 DATE_FORMAT 时
2018 年已经改成 2019 年了。谁能帮我说说这是 bug 还是我遗漏了什么。
import org.apache.spark.sql.functions._
spark.sql("select CAST(1546268400 AS TIMESTAMP)").show(false)
输出: 2018-12-31 15:00:00.0
spark.sql("select DATE_FORMAT(CAST(1546268400 AS TIMESTAMP), 'MM/dd/YYYY HH:mm')").show(false)
输出:12/31/201915:00
所以这并没有完全回答你的问题,但是 YYYY
与 yyyy
的使用在这里似乎很重要。实际上仍在调查中,但这也可能会帮助您弄清楚。
更新:
https://github.com/davedelong/calendar_fallacies/issues/26
YYYY
和 yyyy
之间的区别是 ISO_Week 年与日历年。
当我对 12 月 31 日日期使用 DATE_FORMAT 时 2018 年已经改成 2019 年了。谁能帮我说说这是 bug 还是我遗漏了什么。
import org.apache.spark.sql.functions._
spark.sql("select CAST(1546268400 AS TIMESTAMP)").show(false)
输出: 2018-12-31 15:00:00.0
spark.sql("select DATE_FORMAT(CAST(1546268400 AS TIMESTAMP), 'MM/dd/YYYY HH:mm')").show(false)
输出:12/31/201915:00
所以这并没有完全回答你的问题,但是 YYYY
与 yyyy
的使用在这里似乎很重要。实际上仍在调查中,但这也可能会帮助您弄清楚。
更新: https://github.com/davedelong/calendar_fallacies/issues/26
YYYY
和 yyyy
之间的区别是 ISO_Week 年与日历年。