функция года в Scala Искра возвращает неверный год - PullRequest
1 голос
/ 30 мая 2020

Я пытаюсь извлечь значение года из даты в Scala с помощью функции года, но она возвращает на 1 год меньше фактического значения:

val df = Seq(
  ("1000-01-03 00:00:00")
).toDF("date_val")
.withColumn("conv_date", to_date(col("date_val")))
.withColumn("year_val", year(to_date(col("date_val"))))
.withColumn("year_val_trunc", trunc( to_date(col("date_val")),"year"))
df
.show()

Дает результат:

+-------------------+----------+--------+--------------+
|           date_val| conv_date|year_val|year_val_trunc|
+-------------------+----------+--------+--------------+
|1000-01-03 00:00:00|1000-01-03|     999|    0999-01-06|
+-------------------+----------+--------+--------------+

Странно то, что когда я заменяю дату чем-то большим, чем 1000-01-05, она работает, как ожидалось, то есть задает year_val как 1000. Я что-то здесь упускаю?

...