我使用java。时间Period#getDays()
获取给定时间段LocalDate
s的天数。
它似乎对大多数情况都有效,但是整整一个月,我有一段时间是零天。
以下测试用例失败(java.lang.AssertionError:应为:
@Test
public void testOneMonthPeriodDays() {
Period p = Period.between(LocalDate.of(2017, 06, 01), LocalDate.of(2017, 07, 01));
assertEquals(30, p.getDays());
}
执行以下操作:
long daysDifference = DAYS.between(dayInitial, dayAfter);
哪里:
LocalDate dateInitial; //initial date
LocalDate dateAfter; //later date
JavaDoc代表java。时间Period#getDays()表示:
返回此期间的天数,可能为负数
我想这是误导,它并没有真正返回总天数。
我现在用
final long daysElapsed = ChronoUnit.DAYS.between(LocalDate.of(2017, 06, 01), LocalDate.of(2017, 07, 01));
正如预期的那样。
@Test
public void testOneMonthPeriodDays() {
Period p = Period.between(LocalDate.of(2017, 06, 01), LocalDate.of(2017, 07, 01));
assertEquals(0, p.getDays());
assertEquals(1, p.getMonths());
}
要获得两个日期之间的总天数,请参见这个问题在Java8中计算两个日期之间的天数
引用该问题给出的答案:
LocalDate dateBefore;
LocalDate dateAfter;
long daysBetween = DAYS.between(dateBefore, dateAfter);
请注意,DAYS
是java的成员。时间世俗的ChronoUnit
enum。
我想比较我的Android应用程序的两个日期,但我遇到了一个非常奇怪的问题。 例如: 如果我将过去的
我有这样一个代码,我有我的日期和当前/今天的日期,我需要在两个日期之间的天差。我总是得到0或一些大数字“31536000000”,什么错了?
我有项目租赁应用程序。我需要决定在date_finish和date_start(包括这些日期)之间的日期中是否有car可用。我有模型车和订单。订单有很少的字段:和、如何只取这些在start_date和stop_date之间可用的CARID(包括这两天)。 汽车: 订单: 状态:1为新订单,2为当前持续的订单,3为存档/已完成的订单 mongoose查询: 那个查询不起作用。谁能帮我? 编辑:我必须
问题内容: 我试图找到最干净/最pythonic的方式来评估“ now”是否介于两次之间;然而; 例如,“开始/结束时间”可能会跨越一天的边界,也可能不会跨越一天的边界(仅使用简单的示例): 做一个简单的方案是行不通的! 我目前拥有的一些代码可以评估当前是否为“ NightTime”,如下所示: 我注意到,这些似乎并不能说明开始时间和结束时间跨越一天的边界。 除此之外; 关于添加基于日程安排的任何
问题内容: 我必须检查特定时间是否介于两次(打开和关闭时间)之间。 打开和关闭时间在数据库中保存为与工作日ID(而不是日期)相关的“开始”和“结束”。 所以我的问题是,我有两种不同的情况,第一种情况是结束时间大于开始时间,例如end = 19:00:00和start = 09:00:00 但也可以是结束= 06:00:00和开始= 20:00:00 那么检查时间是否介于两次之间的性能方法是什么?
问题内容: 在我的应用中,我创建了一个代表高中班级的对象。该对象包含2个Calendar对象,分别代表班级每天的开始和结束时间。当用户创建作业时,我要检查当前时间是否在任何课程的两次之间。如果是的话,我知道作业是在该课程中创建的。这是我当前无法使用的代码,因为.getTime()返回一个包含月和日的日期,而我只想比较小时和分钟。因此,如何修剪返回的日期,使其仅包含一天中的时间?使用joda- ti