scala - Date_format 转换将 1 年添加到边界日期

标签 scala apache-spark apache-spark-sql date-format unix-timestamp

当我使用 DATE_FORMAT 作为 12 月 31 日的日期时
2018 年变成了 2019 年。有人可以帮忙说这是一个错误还是我遗漏了什么。

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/ 2019 15:00

最佳答案

Spark shell Results

所以这并不能完全回答你的问题,而是使用 YYYY对比 yyyy在这里似乎至关重要。实际上仍在调查,但这也可能有助于您弄清楚。

更新:
https://github.com/davedelong/calendar_fallacies/issues/26
YYYY的区别和 yyyy是 ISO_Week 年与日历年。

关于scala - Date_format 转换将 1 年添加到边界日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54496878/

相关文章:

scala - putIfAbsent 对于不可变映射?

scala - Scala 中用于具有继承返回类型的集合的最小框架

sql - 如何在 Scala 中获取每个 ID 的电子邮件数量

Pyspark:从 JSON 文件创建模式

python - PySpark:when子句中的多个条件

scala:将隐式参数覆盖到构造函数

java - 如何将scala高级类型功能的混合类型与java泛型类型相匹配?

scala - Apache Spark 3 和向后兼容性?

scala - 使用 df.as[T] 和 df.asInstanceOf[Dataset[T]] 有什么区别?

scala - 使用Apache Spark流向ElasticSearch实时发送Kafka消息