gpt4 book ai didi

Java 应用程序正常运行时间未按预期显示

转载 作者:行者123 更新时间:2023-12-01 13:51:19 24 4
gpt4 key购买 nike

我试图让我的应用程序根据用户的命令打印其正常运行时间,但是执行时会产生以下结果:当前正常运行时间:01:00:07:34而实际正常运行时间为 00:00:07:34。我花了一段时间思考与此类似的问题,大多数人都提到将时区设置为 GMT 或使用外部时间 API。当我试图将依赖关系保持在最低限度时,我试图避免仅仅为了获得正常运行时间而使用外部 API。我将时区设置为 GMT,但它所做的只是修复时间(它过去显示 01:01:07:34 作为正常运行时间)。

我的代码是这样的:

            case "uptime":
long uptime = System.currentTimeMillis()-MainClass.getStartTime();
DateFormat formatter = new SimpleDateFormat("DD:HH:mm:ss");
formatter.setTimeZone(TimeZone.getTimeZone("GMT"));
System.out.printf("Current up-time: %s\n", formatter.format(new Date(uptime)));
return true;

有人知道我如何才能得到一个正常的输出吗?

最佳答案

Date(long time) 构造函数创建一个新对象,其中包含 1970 年 1 月 1 日 00:00:00 GMT 后的日期 time 毫秒(请参阅 JavaDoc )。您实际上想要格式化一个时间段,而不是日期。 JDK 没有为此提供任何方法。您可以自己实现句点格式化程序,也可以使用像 joda 这样提供的库(joda: PeriodFormatterPeriodFormatterBuilder )。

关于Java 应用程序正常运行时间未按预期显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19937453/

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