LocalTime() 两个时间之间的差异

2023-11-25

我有一个航班行程计划,我需要获取出发和到达时间之间的差异。我从数据中以字符串形式获取这些指定时间。这是我的问题:

import static java.time.temporal.ChronoUnit.MINUTES;
import java.time.LocalTime;
import java.time.format.DateTimeFormatter;

public class test2 {
public static void main(String[] args) {

    DateTimeFormatter dateFormat = DateTimeFormatter.ofPattern("HHmm");
    LocalTime departure = LocalTime.parse("1139", dateFormat);
    LocalTime arrival = LocalTime.parse("1435", dateFormat);
    LocalTime a = LocalTime.parse("0906", dateFormat);
    System.out.println(MINUTES.between(departure, arrival));
    System.out.println(MINUTES.between(arrival, a));
}
}

Output:

176
-329

第一次返回 11:39 和 14:35 之间的差异就好了。但第二个相差只有5个小时,而应该是19个小时。我该如何解决这个问题,我在这里做错了什么?

任何帮助将不胜感激。

编辑:我使用图表来存储我的数据。两个机场之间的最短路线的示例如下:

Route for Edinburgh to Sydney
1 Edinburgh, 1139, TK3245, Istanbul, 1435
2 Istanbul, 0906, TK4557, Singapore, 1937
3 Singapore, 0804, QF1721, Sydney, 1521

这些是我们从 EDI 飞往 SYD 的 3 班航班。上面输出的格式为(城市、出发时间、航班号、目的地、到达时间)。


24 小时内的总分钟数为 1440。因此,当差异低于零(但您需要一个正数)时,您应该在结果中添加一整天:

int diff = MINUTES.between(arrival, a);
if (diff < 0) {
    diff += 1440;
}

您可以使用以下方法实现相同的目标:

int diff = (MINUTES.between(arrival, a) + 1440) % 1440;
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

LocalTime() 两个时间之间的差异 的相关文章

  • OSGI - 处理捆绑包所需的第 3 方 JAR

    我刚刚开始 OSGI 开发 正在努力了解如何最好地处理依赖的 JAR 也就是说 如果我要创建一个捆绑包 我很可能需要使用一些第 3 方 JAR 当我创建要部署到 OSGI 的捆绑包 JAR 时 显然不包含这些第 3 方 JAR 因此该捆绑包
  • Java 8 Streams - 按层次结构对嵌套列表进行排序

    给出以下示例 我想要一个对列表和嵌套列表进行排序的流函数 class Foo public int sort public List
  • JAVA GENERICS错误:具有相同的擦除,但两者都没有覆盖另一个[重复]

    这个问题在这里已经有答案了 为了好玩 我正在创建一个排序框架 以更好地理解各种排序算法 而且 我试图使其足够通用 以便它可以对实现扩展可比较接口的接口的任何内容进行排序 然而 java 编译器对我不满意 这是我的界面 public inte
  • 有人在实际应用程序中使用短和字节原始类型吗?

    我自 2004 年以来一直使用 Java 进行编程 主要是企业和 Web 应用程序 但我从来没有用过short or byte 而不是只是为了了解这些类型如何工作的玩具程序 即使在一个for loop100次 我们通常会选择int 我不记得
  • 如何解决 MongoWaitQueueFullException?

    我运行一个java程序 它是一个线程执行程序 它将数千个文档插入到mongodb中的表中 我收到以下错误 Exception in thread pool 1 thread 301 com mongodb MongoWaitQueueFul
  • 原生状态栏

    有没有办法创建nativeSWT 中的状态栏与 Windows 应用程序中的状态栏类似 我见过使用标签模拟的状态栏 但我对真正的解决方案更感兴趣 org eclipse jface action StatusLineManager crea
  • 从 Android Intent 打开图库应用

    我正在寻找一种打开方式Android来自意图的画廊应用程序 我不想返回图片 而是只是打开图库以允许用户使用它 就像他们从启动器中选择它一样 View pictures folders 我尝试执行以下操作 Intent intent new
  • 能够存储微秒的 Date 对象

    我正在寻找一个能够存储到微秒粒度的 Date 对象 有人知道吗 标准Date对象仅存储到毫秒 我知道这是平台限制 我可以通过包装来解决这个问题Date加上自定义类别中的小数数量 然而 我希望避免编写一个带有适当计算等的内容 我需要解析一个b
  • 如何一次又一次地使用同一个迭代器?

    给出下一个代码 这是某个大型方法的一部分 ArrayList
  • equals 和 hashcode 的不同字段

    我同意这篇文章的声明在Java中重写equals和hashCode时应该考虑哪些问题 https stackoverflow com questions 27581 overriding equals and hashcode in jav
  • 如何在另一个 Gui 中启动 JADE Gui?

    如何在另一个 Gui 中启动 JADE Gui 假设我的 Gui 上有一个按钮 点击该按钮后 JADE Gui 将启动 这可能吗 如果是 怎么办 提前致谢 Regards 我假设 JADE Gui 你指的是 JADERMA http jad
  • 使用 Android 将文本文件上传到 Google Drive

    编辑 我已将文本设置为字符串 如下所示 字符串文本 你好 我想将其转换为纯文本文件 然后上传到 Google 云端硬盘文件夹 我已经尝试过下面的代码 但它不完整 所以我无法说出出现了什么错误 我正在使用 Google Drive 快速启动
  • 过滤(搜索和替换)InputStream 中的字节数组

    我有一个 InputStream 它将 html 文件作为输入参数 我必须从输入流中获取字节 我有一个字符串 XYZ 我想将此字符串转换为字节格式 并检查从 InputStream 获得的字节序列中是否存在与该字符串匹配的字符串 如果有的话
  • 从内存中获取Java类字节码(经过多次转换)

    我正在为 Minecraft 开发一个 coremod 并在加载许多类时对其进行转换 然而问题是 有多个 coremod 也转换了与我相同的类 并且我遇到了一些我想研究的奇怪行为 那么问题来了 经过多次转换后的字节码如何检查呢 当我转换它时
  • 如何使用 Solr 索引 pdf 内容?

    我正在尝试使用 SolrJ 索引一些 pdf 文档 如下所述http wiki apache org solr ContentStreamUpdateRequestExample http wiki apache org solr Cont
  • Calendar.getActualMaximum(Calendar.WEEK_OF_YEAR) 怪异

    要么我不明白这个方法getActualMaximum int 或字段 WEEK OF YEAR 或者涉及 Sun bug 或全部三个 有人可以向我解释为什么吗 至少在德国语言环境中 以下代码 Locale setDefault Locale
  • 如何正确使用 FirefoxOptions() 及其参数将其传递给 FirefoxDriver() 构造函数

    我在实例化 FirefoxDriver 时尝试使用 FirefoxOptions 如下所示 FirefoxOptions options new FirefoxOptions WebDriver localWebDriver new Fir
  • 如何在 jformattedtextfield 中仅添加双精度值

    我需要格式化 jformattedtextfield 以便在运行时仅添加具有两位小数的双精度 浮点值 例如 15600 00 请帮我解决这个问题 谢谢 以下是有关如何执行此操作的示例 NumberFormat format DecimalF
  • 如何解除阻塞在 ServerSocket.accept() 上的线程?

    我有一个带有以下代码的服务器线程 public void run try ServerSocket server EneaLog printLog Server is running server new ServerSocket this
  • Java 中的 ConcurrentHashMap 和 Hashtable [重复]

    这个问题在这里已经有答案了 Java 中的 ConcurrentHashMap 和 Hashtable 有什么区别 哪个对于线程应用程序更有效 ConcurrentHashMap 和 Hashtable 锁定机制 Hashtable属于Co

随机推荐