Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 如何计算两个日期之间的天数?_Java_Scala - Fatal编程技术网

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