对于经验丰富的java开发人员来说,我想这是一个简单的JodaTime问题。
问题
给定两个日期时间 d1
、d2
和一个句点 p
,我想知道 d2
之后的第一个日期时间> 即 d1 + k * p
,其中 k
是一个整数。
这是一个简单的问题,我可以使用循环来解决它。我想知道java中是否有任何收缩的方法。我的意思是可以用一行或两行完成吗?
到目前为止我的想法
我认为我们有 k = (d2 - d1) % p
然后我们可以通过将 k+1 * p
添加到 d1< 来获得正确的日期
最佳答案
Period
是 long
的包装,你可以这样做:
long between = d2.getMillis() - d1.getMillis();
long period = p.getMillis();
int k = between / period + 1;
DateTime firstAfter = d1.plusMillis(k * p);
关于java - 如何使用 Jodatime 获取两个日期之间的周期数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31949545/