当前位置: 首页 > 面试题库 >

Java如何以分钟为单位查找两个Joda-Time DateTime之间的差异

蒯胜泫
2023-03-14
问题内容

下面是我写的方法:

public List<Map<String, Object>> loadNotYetInEmployee(int shift, Date date,
        int transitionVal, String type, User user) {

    DateTime datetime = new DateTime(date);
    datetime = datetime
            .plus(Period.minutes(shiftTiming.getSession1InTime()));

    List<Map<String, Object>> result = new ArrayList<Map<String, Object>>();

    sql = SqlMapUtils.getSql("attendance.attendancestatus.latein",
            parameters);
    result = getJdbcTemplate().queryForList(sql);
    for (int i = 0; i < result.size(); i++) {
        Date punchInTime = (Date) result.get(i).get("punchtime");
        DateTime punchTime = new DateTime(punchInTime);
    }
    return result;
}

现在,从我的方法中,你可以看到我在名为的对象中有一个Joda-Time DateTime对象datetime,从结果中,我得到一个时间戳,该时间戳将转换为jodatime punchTime。现在,我想找出这两个日期之间的差异,该怎么办?


问题答案:

这将使你获得两个DateTime对象之间的差(以毫秒为单位):

DateTime d1 = new DateTime();
DateTime d2 = new DateTime();

long diffInMillis = d2.getMillis() - d1.getMillis();


 类似资料:
  • 下面是我写的方法: 现在,从我的方法中,您可以看到我在名为的对象中有一个Joda-Time DateTime对象,并且从我的结果中,我得到了一个时间戳,我正在将它转换为jodatime。现在我想找出这两个日期之间的差异,我该怎么做呢?

  • 问题内容: 我需要获取两个日期之间的分钟数。我知道Joda是最适合使用的,但这是针对Android项目的,因此,我更喜欢使用一些外部库,并且我正在构建的应用程序不需要计算得很精确。 但是,我正在使用的代码似乎无法正常工作。我正在尝试获取“ 11/21/2011 7:00:00 AM”和“ 11/21/2011 1:00:00 PM”之间的分钟数(应该为360分钟),但是代码我’m using返回0

  • 问题内容: 必须有一种更简单的方法来执行此操作。我有想要经常刷新的对象,因此我想记录它们的创建时间,对照当前时间戳进行检查,并根据需要刷新。 事实证明datetime.datetime很困难,我也不想深入ctime库。这样的事情有什么容易的吗? 问题答案: 如果要计算两个已知日期之间的差异,请使用以下方法: 86400.0 0

  • 问题内容: 如果我有两个这样的日期时间: 如何以以下格式获取这些日期时间之间的差异: 我用 但是我只有时间。 问题答案: 试试这个- 询问: 输出:

  • 我在一个XML文件中有格式为(Year.Month.Day)的时间戳。 我需要找出以天为单位的两个时间戳之间的区别。 命名空间“std::chrono”没有成员“year”

  • 问题内容: 有没有一种方法可以在MySQL中进行查询,以秒为单位提供两个时间戳之间的差异,还是需要在PHP中进行?如果是这样,我将如何去做? 问题答案: 您可以使用和函数,如下所示: 您还可以使用其他答案中建议的@Amber函数: 如果您使用的是数据类型,我猜想解决方案会稍微快一点,因为值已经存储为整数,代表自纪元(Source)以来的秒数。引用文档: 在列上使用时,该函数直接返回内部时间戳记值,