gpt4 book ai didi

java - SimpleDateFormat 无缘无故地增加时间?

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:09:45 24 4
gpt4 key购买 nike

在 Java 中将秒的整数转换为格式化的 hh:mm:ss 字符串的正确方法是什么?

例如:

int Seconds = 650
String Time = 00:10:50

现在我正在使用这个:

String Time = new SimpleDateFormat("hh:mm:ss").format(new Date((Seconds*1000)));

但这似乎无缘无故地增加了几个小时,我猜这是因为我滥用了 DateSimpleDateFormat,但我太缺乏经验了知道出了什么问题。或者是否只有一个我不知道的内置系统。

编辑:我应该指出,我知道我可以使用简单的除法来剥离小时数,然后是剩余的分钟数,然后是剩余的秒数,并将所有这三部分拼凑成一个字符串,但我想知道 Java有一种内置的方法可以做到这一点。

最佳答案

您可以使用 java.util.concurrent 包中定义的 TimeUnit 类。

例如你想计算小时数:

long hours=TimeUnit.SECONDS.toHours(seconds);

类似的方法可用于计算天、小时、分钟。

但请注意,这会将您直接转换为小时,因此您最终会超过 24 小时。为了正确实现,您需要先计算天数,然后进行必要的数学运算,然后给出计算小时数的剩余值。最后根据您需要的格式编写一个字符串。

关于java - SimpleDateFormat 无缘无故地增加时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26070503/

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