gpt4 book ai didi

java - 像普通整数一样减去数字的 char

转载 作者:行者123 更新时间:2023-11-30 06:06:30 27 4
gpt4 key购买 nike

我有两个可以视为时间戳的字符串:

String min="2017-04-15 13:27:31";
String max="2017-04-15 13:40:01";

假设我们想找出从第一个时间戳到第二个时间戳所耗时。如果只有时间而不包含日期,我可以使用以下代码获取它:

                String[] partsMin=min.split(":");
String[] partMax=max.split(":");
int diffZero=Integer.parseInt(partMax[0])-Integer.parseInt(partsMin[0]);
int diffOne=Integer.parseInt(partMax[1])-Integer.parseInt(partsMin[1]);
int diffOTwo=Integer.parseInt(partMax[2])-Integer.parseInt(partsMin[2]);
diffInSec=diffZero*3600+diffOne*60+diffOTwo;

所以问题来了。当时间戳内有日期时如何完成工作?

最佳答案

我会从中构造 LocalDateTime 实例。然后我会从中获取毫秒并从 EndTime 中减去 startTime。剩下的就是两者之间经过的毫秒数。 DateTimeFormatter 对于此目的也很有帮助。

String strMin = "2017-04-15 13:27:31";
DateTimeFormatter formatterTime = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
LocalDateTime dateTimeMin = LocalDateTime.parse(strMin, formatter);

String strMax = "2017-04-15 13:40:01";
LocalDateTime dateTimeMax = LocalDateTime.parse(strMax, formatter);

long minutes = ChronoUnit.MINUTES.between(dateMin, dateMaxto);
long hours = ChronoUnit.HOURS.between(dateMin, dateMax);

如果你想获取毫秒:

long millisPassed = dateMax.toEpochMilli() - dateMax.toEpochMilli();

关于java - 像普通整数一样减去数字的 char,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43886801/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com