Java 如何计算两个日期之间的天数?
我想知道两个日期之间的天数。当我使用下面的代码时,它会引发一个错误。我怎么修理它Java 如何计算两个日期之间的天数?,java,scala,Java,Scala,我想知道两个日期之间的天数。当我使用下面的代码时,它会引发一个错误。我怎么修理它 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(
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)
你可以试试这样的
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())
最后我找到了解决办法:
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)
乔达,时间已经过时了。使用java.time
您有解析错误,应该为日期字符串传递正确的DateTimeFormatter。请仔细阅读错误消息。您认为此错误消息是什么意思?可能重复的
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)
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