scala计算差异

时间:2018-04-04 11:05:57

标签: scala datetime

我有一个scala函数:

它返回一个错误,它不接受plusDays和minusDay中的参数,知道我添加了所有必需的导入:

<console>:143: error: type mismatch;
 found   : java.time.LocalDate
 required: String
             toEnd(rd1.toLocalTime) + jourOuvree(rd1.toLocalDate.plusDays(1), rd2.toLocalDate.minusDays(1)) * 8.hours + toStart(rd2.toLocalTime)
                                                                         ^
<console>:143: error: type mismatch;
 found   : java.time.LocalDate
 required: String
             toEnd(rd1.toLocalTime) + jourOuvree(rd1.toLocalDate.plusDays(1), rd2.toLocalDate.minusDays(1)) * 8.hours + toStart(rd2.toLocalTime)

你能帮我吗?

1 个答案:

答案 0 :(得分:2)

错误发生在jourOuvree中,而不是像你说的那样在plusDays和minusDay中的参数中。您应该检查您的方法签名。

如果你的方法jourOuvree需要一个String格式的日期,你可以在toString方法之后调用plusDays

示例:

没有toString:

rd1.toLocalDate.plusDays(1)
res1: java.time.LocalDate = 2018-04-05

使用toString:

rd1.toLocalDate.plusDays(1).toString
res2: String = 2018-04-05

在你的情况下:

jourOuvree(rd1.toLocalDate.plusDays(1).toString, rd2.toLocalDate.minusDays(1)).toString)