Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/373.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 使用joda time将月添加到天_Java_Jodatime - Fatal编程技术网

Java 使用joda time将月添加到天

Java 使用joda time将月添加到天,java,jodatime,Java,Jodatime,我需要创建一个方法,该方法需要花费数天和数月的时间,将两者相加,然后返回结果天数 public int addMonthsToDays(int months, int days);//interface 我想使用joda DateTime,但是没有获得总天数的方法。下面是一个示例实现: public int addMonthsToDays(int months, int days){ DateTime dateTime = new DateTime().plusDays(days).p

我需要创建一个方法,该方法需要花费数天和数月的时间,将两者相加,然后返回结果天数

public int addMonthsToDays(int months, int days);//interface
我想使用joda DateTime,但是没有获得总天数的方法。下面是一个示例实现:

public int addMonthsToDays(int months, int days){
    DateTime dateTime = new DateTime().plusDays(days).plusMonths(months);
  return // what do I return?
}
附加说明

我知道有些人会误读上述内容,并提出一些问题,因此在预期中:

  • 我要的是从今天算起的天数,而不是从1970年1月1日算起的天数
  • 我不必使用DateTime,实现就是我尝试过的
  • 目标是实现接口
    public int addMonthsToDays(int months,int days)
    ,并返回从今天开始的新天数
  • 我很乐意回答其他问题

问题在于,您正在处理日期,但实际上需要天数。你可以做的是为今天创建一个新的日期时间,并为你增加的天数/月份创建一个不同的日期时间,然后只计算以天为单位的差异

在《乔达时代》中说:

Days.between(startDate, endDate);
完整(未经测试)的示例如下所示

public int addMonthsToDays(int months, int days){
  DateTime startDate = new DateTime();
  DateTime endDate = new DateTime().plusDays(days).plusMonths(months);
  return Days.between(startDate,endDate);
}

没关系,我知道了
public int addMonthsToDays(int months,int days){DateTime DateTime=new DateTime().plusDays(days).plusMonths(months);return days.daysBetween(new DateTime(),DateTime.).getDays();}
我必须等8个小时才能将我的答案发布为repl我希望你也考虑了你需要的正确的计算步骤顺序,因为plusDays().plusMonths()有时不等于plusMonths().plusDays()。是的,plusMonths()的引用日期也很重要。@MenoHochschild我不知道。你有讨论这个问题的参考资料吗?谢谢一个月没有固定的天数长度,因此您需要一个参考日期来开始,以便定义从月到天的添加/转换结果,这里您似乎使用了当前日期。关于这个顺序,只考虑[2013-0630]。Plus(P1M1D)= [2013-0731:]与[2013-0630]。Plus(P1D1M)= [2013-0801]。见我上面的评论。我想出来了。不过还是要谢谢你。(我必须等9分钟才能接受你的回答)。同时:+1事实上,我显然没有足够的声望去投票。所以在9分钟内。谢谢