当前位置: 首页 > 知识库问答 >
问题:

Jodatime有没有一种方法来获取某个较旧日期之后的月份和天数?

慕麒
2023-03-14

我想知道从今天起,某个较老的日期到底有多少个月和几天(可能是几年)。有没有办法做到这一点?

我知道如何计算月差,我知道如何计算日差。但我无法得到月和日。

Ex:

#2013-03-04;现在=2013-04-17

所以我想要的结果大概是1个月13天

*也许是12点,我不是很确定。

共有2个答案

麹正业
2023-03-14

是的,请参阅间隔文档:

间隔

Joda Time中的间隔表示从一个瞬间到另一个瞬间的时间间隔。这两个瞬间都是datetime连续体中完全指定的瞬间,带有时区。

间隔被实现为半开放,也就是说,开始时刻是包含的,而结束时刻是独占的。终点总是大于或等于起点。两个终点都被限制为具有相同的时间顺序和相同的时区。

提供了两个实现,Interval和MutableInterval,它们都是ReadableInterval的专门化。

司寇望
2023-03-14

这可以通过在JodaTime中使用句点来实现。

例如

LocalDate old = new LocalDate(2013, 3, 4);
LocalDate now = new LocalDate(2013, 4, 17);

Period p = new Period(old, now, PeriodType.yearMonthDay());

要获取月份,请使用p.getMonths(),获取日期p.getDays()

示例的结果是1个月13天。

 类似资料:
  • 本文向大家介绍iOS获取某个日期后n个月的日期,包括了iOS获取某个日期后n个月的日期的使用技巧和注意事项,需要的朋友参考一下 一、给一个时间,给一个数,正数是以后n个月,负数是前n个月; 二、设置你需要增加或减少的年、月、日即可获得新的日期,上述的表示获取mydate日期前一个月的日期,如果该成+1,则是一个月以后的日期,以此类推都可以计算。 总结 以上所述是小编给大家介绍的iOS获取某个日期后

  • 问题内容: 有没有很好的方法来获取下一个星期三的日期?也就是说,如果今天是星期二,我想获取本周星期三的日期;如果今天是星期三,我想知道下星期三的日期;如果今天是星期四,我想获取下周的星期三日期。 谢谢。 问题答案: 基本算法如下: 获取当前日期 取得星期几 与周三找到不同 如果差异不是正数,则加7(即坚持下一个到来/将来的日期) 增加差异 这是一个片段,展示了如何使用: 相对于我现在的位置,上述代

  • 本文向大家介绍JS获取月份最后天数、最大天数与某日周数的方法,包括了JS获取月份最后天数、最大天数与某日周数的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JS获取月份最后天数、最大天数与某日周数的方法。分享给大家供大家参考,具体如下: js得到一个月最大天数   JS里 面的new Date("xxxx/xx/xx")这个日期的构造方法有一个妙处, 当你传入的是"xxxx/xx/0

  • 问题内容: 我需要获取一个月的第一个日期和最后一个。获取第一个是微不足道的,但是获取最后一个似乎需要一些逻辑,因为月份的长度不同,而2月的长度甚至会随着年份而变化。是否已经在JodaTime中内置了对此机制,还是应该自己实现? 问题答案: 怎么样: 以知道来源的方式传回,代表a 代表[每月的月份]栏位。 碰巧的是,该方法甚至记录在案,以推荐它用于此特定任务: 由于月份长度不同,此操​​作对于在每月

  • 问题内容: 假设我在变量中有两个日期,例如 我需要获取介于和()之间的月份数。即我需要得到。 有没有一种方法可以通过使用日期函数来获取它,或者我必须爆炸字符串并进行一些计算? 非常感谢 问题答案: 对于PHP> = 5.3 DateTime :: diff返回一个DateInterval对象 如果您未使用PHP 5.3或更高版本运行,我想您将不得不使用unix时间戳: 但这不是很精确(每月并不总是