Tag: localtime

使用/不使用nanoOfSeconds将字符串转换为LocalTime

我需要将一个字符串转换为LocalTime(java-8而不是joda),该字符串可能有也可能没有nanoOfSeconds。 字符串格式的forms为07:06:05或07:06:05.123456字符串在秒中可能有或没有小数位,当它出现时,可能有任意数量的字符来表示Nano Seconds部分。 使用DateTimeForamtter等 DateTimeFormatter dtf = DateTimeFormatter.ofPattern(“H:mm:ss”); 要么 DateTimeFormatter dtf = DateTimeFormatter.ofPattern(“H:mm:ss.SSSSSS”); 我可以使用IF语句来区分两种格式,例如: DateTimeFormatter dtf; if (time1.contains(“.”) { dtf = DateTimeFormatter.ofPattern(“H:mm:ss.SSSSSS); } else { dtf = DateTimeFormatter.ofPattern(“H:mm:ss); } 这工作正常,我很好,但我需要能够在小数点后使用不同数量的位置。 示例数据集可能是: [11:07:59.68750, 11:08:00.781250, 11:08:00.773437500, 11:08:01] 有没有办法允许格式化程序解析小数点后的任意位数而不会在小数位数java.time.format.DateTimeParseException时抛出java.time.format.DateTimeParseException ? 我希望我遗漏一些非常简单的东西。

Java减去LocalTime

我有两个LocalTime对象: LocalTime l1 = LocalTime.parse(“02:53:40”); LocalTime l2 = LocalTime.parse(“02:54:27”); 我怎么能在它们之间找到不同的分钟数?

在java.time.LocalTime之间(第二天)

请建议是否有API支持来确定我的时间是否在2个LocalTime实例之间,或建议采用不同的方法。 我有这个实体: class Place { LocalTime startDay; LocalTime endDay; } 它存储工作日的开始和结束时间,即从’9:00’到’17:00’,或者从’22:00’到’5:00’的夜总会。 我需要实现一个Place.isOpen()方法,该方法确定该位置是否在给定时间打开。 一个简单的isBefore / isAfter在这里不起作用,因为我们还需要确定结束时间是否在第二天。 当然,我们可以比较开始和结束时间并做出决定,但我想要一些没有额外逻辑的东西,只需要一个简单的between()调用。 如果LocalTime不足以达到此目的,请另外建议。