Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/392.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
无法实例化类型Duration-Joda Java_Java_Jodatime - Fatal编程技术网

无法实例化类型Duration-Joda Java

无法实例化类型Duration-Joda Java,java,jodatime,Java,Jodatime,我正在计算两个日期之间的差异。这是我的代码: DateTime today = new DateTime(); DateTime yesterday = today.minusDays(1); Duration duration = new Duration(yesterday, today); 不幸的是,我不能运行上面的代码。在运行之前,我在eclipse中遇到以下错误: Cannot instantiate the type Duration 我该怎么做才能修复它?更改 Durati

我正在计算两个日期之间的差异。这是我的代码:

DateTime today = new DateTime();
DateTime yesterday = today.minusDays(1);

Duration duration = new Duration(yesterday, today);
不幸的是,我不能运行上面的代码。在运行之前,我在eclipse中遇到以下错误:

 Cannot instantiate the type Duration
我该怎么做才能修复它?

更改

Duration duration = new Duration(yesterday, today);


该类没有与您使用的构造函数相匹配的构造函数。(
DateTime
DateTime

您应该使用org.joda.time.Duration类

import org.joda.time.DateTime;
import org.joda.time.Duration;

DateTime today = new DateTime();
DateTime yesterday = today.minusDays(1);

Duration duration = new Duration(yesterday, today);
System.out.println(duration.getStandardDays());

@PM77-1
DateTime
是一个
ReadableInstant
@yasuo,你能在这里发布你的代码中
Duration
的导入语句吗?@realpoinsist-。
DateTime
是一个
ReadableInstant
。我更改了它。我又遇到了同样的问题。DateTime today=new DateTime();DateTime昨天=今天。天数(1);long d1=昨天。getMillis();long d2=今天。getMillis();持续时间=新的持续时间(d1、d2)@yasuo,编辑你的问题,写完整的代码,包括导入语句。好的,我创建了。我导入了错误的库。我使用javax.xml.datatype.Duration而不是org.joda.time.Duration.:这应该是一个评论,而不是一个答案。@realponsignist我认为这是更好的答案。如果没有正确导入的.getMillis(),为什么要使用.getMillis()。这不是答案。你只是在问OP他在干什么。“为我工作”也不是答案。确实,被接受的答案不是正确的答案。但是你需要首先用注释找出问题是否出在导入上,然后你可以发布一个答案,说“你导入了错误的类,你导入的类没有公共构造函数”等等。我发布了我的答案。一分钟后,你发表了你的评论:“@yasuo,编辑你的问题,写完整的代码,包括导入语句。”现在看看OP上的评论,计算我在那里发表评论的时间。在任何情况下,这都是无关的:OP的问题不是答案。
import org.joda.time.DateTime;
import org.joda.time.Duration;

DateTime today = new DateTime();
DateTime yesterday = today.minusDays(1);

Duration duration = new Duration(yesterday, today);
System.out.println(duration.getStandardDays());