Java中的间隔时间减法
我试图在Java中找到时间上的差异(HH:mm:ss.SSS),在Java中,每个时间可以超过24小时SimpleDateFormat
不支持大于24小时的时间
比如说,
时间A=36:00:00.00
时间B=23:00:00.00
我想得到13:00:00.00的答案。(13小时)
有人知道是否有Java库可以执行减法吗。还想知道Java库是否可以添加时间
你可以在下面搜索框中键入要查询的问题!
我试图在Java中找到时间上的差异(HH:mm:ss.SSS),在Java中,每个时间可以超过24小时SimpleDateFormat
不支持大于24小时的时间
比如说,
时间A=36:00:00.00
时间B=23:00:00.00
我想得到13:00:00.00的答案。(13小时)
有人知道是否有Java库可以执行减法吗。还想知道Java库是否可以添加时间
# 1 楼答案
下面是使用JodaTime的完整解决方案。我敢说,使用
java.util
或java.util.concurrent
API没有比这更简单、更优雅的方法:(^{} 确保支持38:00:00.00等值)
# 2 楼答案
尝试将时间转换为秒,减去,然后转换回简单的时间格式
# 3 楼答案
下面是一个如何使用Joda-Time获得两个日期之间差异的示例(这是Jim Garrison之前提到的)。它确实是可用的最佳时间库之一
# 4 楼答案
您不需要第三方库
这是一个简单的数学问题,似乎与}或
Date
{Timestamp
实例没有直接关系,但似乎与interval
相关,而且JDK中有内置的功能>;=1.5使用java.util.concurrent.TimeUnit
只处理这种类型的数学,而不引入任何依赖项下面是解析输入并将其转换为毫秒的代码,然后您可以将其转换回所需的任何
String
格式,我方便地选择了您请求的格式java.util.concurrent.TimeUnit是一个隐藏的小宝石,大多数人不知道这种偷偷溜进1.5的情况。这类人被埋在
java.util.concurrent
包裹里,似乎没有人知道,这是一种犯罪输出是
我想你的意思是最后一个数字是
milliseconds
,它的分辨率应该是3位# 5 楼答案
看看Joda-Time,这是一个完整的库,用于在Java中处理时间和日期,包括区间算术