gpt4 book ai didi

java - 对 java.sql.Time 类型执行时间算术的最佳方法是什么?

转载 作者:行者123 更新时间:2023-11-29 14:39:06 25 4
gpt4 key购买 nike

我已阅读this问题似乎相当冗长,特别是因为我想做很多事情并避免使用 java.util.date 类型。我本质上希望能够将任意时间值添加和减去特定时间,例如(0220 + 3小时45分钟)。我最好的方法是将值转换为“long”类型,然后执行算术,但我确信这不是正确的方法。 (转换回来时可能会溢出和不准确吗?)只需要关于最佳方法的想法。

最佳答案

我认为改为long,然后添加代表“3 小时 45 分钟”的适当毫秒数就可以了。除非您添加足够的毫秒来溢出 64 位长,否则无法溢出它——这是很多毫秒。

long millis = time.getTime();
millis += 3 * 3600 * 1000;
millis += 45 * 60 * 1000;
time = new java.sql.Time(millis);

另一种方法是使用出色的 Joda Time 方法,该方法会更昂贵,但肯定更易读/简单:

org.joda.time.DateTime dateTime = new DateTime(time.getTime());
dateTime = dateTime.plusHours(3).plusMinutes(45);
time = new java.sql.Time(dateTime.getMillis());

关于java - 对 java.sql.Time 类型执行时间算术的最佳方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8356087/

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