Dev*_*Dev 0 scala date days jodatime
我试图获取两个给定日期之间的所有日期,但无法获取。
我试过这样。
val dateformat = new SimpleDateFormat("yyyy-MM-dd")
var start = dateformat.parse("2020-10-01")
var end = dateformat.parse("2020-10-12")
val days = Days.daysBetween(start, end)
val months = Months.monthsBetween(start, end)
Run Code Online (Sandbox Code Playgroud)
但我得到了 daysBetween 未找到?
编辑:我的进口是:
import org.joda.time.DateTime;
import org.joda.time.Days;
import org.joda.time.Months;
Run Code Online (Sandbox Code Playgroud)
为了完整起见,这里是相同代码的 java.time 版本。java.time 是现代 Java 日期和时间 API,是 Joda-Time 的继承者。不过,您必须自己翻译我的 Java 代码。
LocalDate start = LocalDate.parse("2020-10-01");
LocalDate end = LocalDate.parse("2020-10-12");
long days = ChronoUnit.DAYS.between(start, end);
long months = ChronoUnit.MONTHS.between(start, end);
System.out.format("Between %s and %s are %d days or %d months%n",
start, end, days, months);
Run Code Online (Sandbox Code Playgroud)
输出:
2020-10-01 和 2020-10-12 之间是 11 天或 0 个月
Joda-Time 主页说:
请注意,Joda-Time 被认为是一个很大程度上“已完成”的项目。没有计划进行重大改进。如果使用 Java SE 8,请迁移到
java.time(JSR-310)。
但我得到了 daysBetween 未找到?
并不是 Scala 找不到Days.daysBetween(). 您的startandend有 type Date,消息的意思是 Scala 找不到daysBetween接受两个Date参数的方法。相反,您需要传递两个类型为ReadableInstant(或ReadablePartial,但那是另一回事)的对象。由于 Joda 自己的DateTime类实现了该ReadableInstant接口,因此您可以使用其中两个,如另一个答案中所示。
| 归档时间: |
|
| 查看次数: |
187 次 |
| 最近记录: |