如何在 Scala 类的情况下转换日期列格式?

问题描述

我使用的是 Scala spark。我有两个类似的 CSV 文件,有 10 列。一个区别是日期列格式。 第一个文件 日期格式 yyyy-MM-dd 第二个文件日期格式 dd-MM-yyyy 目标是:为每个文件创建单独的模式 rdd,最后合并两个 Rdd。

对于第一个案例类,我在案例类映射中使用了 Date.valueOf [java.sql.Date]。这里没有问题..

我发现第二个文件日期格式有问题.. 我使用了相同的 Date.valueOf 映射......但它在日期格式中抛出错误......

如何将第二个文件中的日期格式映射为第一个格式 yyyy-MM-dd?请帮忙

解决方法

使用 java.util.Date:

val sDate1="31/12/1998"
val date1=new SimpleDateFormat("dd/MM/yyyy").parse(sDate1)  
import java.text.SimpleDateFormat

结果:

sDate1: String = 31/12/1998
date1: java.util.Date = Thu Dec 31 00:00:00 CET 1998

将输出格式更改为通用字符串格式。

val date2=new SimpleDateFormat("yyyy/MM/dd")
date2.format(date1)

结果:

res1: String = 1998/12/31