[英]How do I find the number of days between two dates?
I want to know the number of days between two dates.我想知道两个日期之间的天数。 When I use the following code it raises an error.当我使用以下代码时,它会引发错误。 How do I fix it?我如何解决它?
import org.joda.time.{DateTime, Days}
val start = "2018-10-01 00:00:00"
val end= "2018-10-12 00:00:00"
val from = DateTime.parse(start)
val to = DateTime.parse(end)
println(from + "<>" + to)
println("Number of days between 2 period: " + Days.daysBetween(from, to).getDays)
ERROR:错误:
java.lang.IllegalArgumentException: Invalid format: "2018-10-01 00:00:00" is malformed at " 00:00:00"
joda.time
is old and outdated. joda.time
已经过时了。 Use java.time
.使用java.time
。
import java.time.LocalDate
import java.time.temporal.ChronoUnit.DAYS
DAYS.between(LocalDate.parse("2018-10-01")
,LocalDate.parse("2018-10-12")) //res0: Long = 11
You can try something like this你可以试试这样的
import java.time.LocalDate
import java.time.format.DateTimeFormatter
val start = "2018-10-01"
val end= "2018-10-12"
val formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd")
val oldDate = LocalDate.parse(start, formatter)
val newDate = LocalDate.parse(end, formatter)
println(newDate.toEpochDay() - oldDate.toEpochDay())
Finally I found solution:最后我找到了解决方案:
val format = DateTimeFormat.forPattern("yyyy-MM-dd HH:mm:ss")
val from = format.parseDateTime("2018-10-01 00:00:00")
val to = format.parseDateTime("2018-10-12 00:00:00")
println("Number of days between 2 period: " + Days.daysBetween(from, to).getDays)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.