You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将秒数转换为完整时间戳?求助分析1352364秒转换代码

时间转换代码的输出问题分析

先直接给你答案:你当前的代码运行后会输出:
2 Weeks 15 Days 375 Hours 39 Minutes 24 Seconds.

不过这个结果是有问题的——因为15天里已经包含了2周(14天),375小时里也包含了15天(360小时),等于把同一部分时间重复统计了好几次。

问题出在哪?

你的计算逻辑只做了“向下取整转换”,没有做“剩余时间提取”:

  • hours = (timeToGrow / 60) / 60:这是把所有秒直接转换成了总小时数,没有扣除已经被算成天数的部分
  • days = ((timeToGrow / 60) / 60) / 24:这是总天数,没有扣除已经被算成周数的部分

所以最终输出里,天、小时都是包含更高单位的总数,而不是剩余的时间。

修正后的正确代码

要得到“周、天、小时、分钟、秒”的正确拆分,每一步都需要对更高一级的时间单位取余,来得到当前单位的剩余数量:

int timeToGrow = 1352364;
int secs = timeToGrow % 60;
int mins = (timeToGrow / 60) % 60;
int hours = (timeToGrow / (60 * 60)) % 24; // 总小时数对24取余,得到当天剩余的小时
int days = (timeToGrow / (60 * 60 * 24)) % 7; // 总天数对7取余,得到当周剩余的天数
int weeks = timeToGrow / (60 * 60 * 24 * 7); // 直接计算总周数
System.out.println(weeks + " Weeks "+ days + " Days " + hours + " Hours " + mins + " Minutes " + secs + " Seconds.");

正确输出结果

修正后的代码运行后会输出:
2 Weeks 1 Days 15 Hours 39 Minutes 24 Seconds.

我们可以验证一下:2周=14天,加1天是15天;15天=360小时,加15小时是375小时;375小时=22500分钟,加39分钟是22539分钟;22539分钟=1352340秒,加24秒正好是1352364秒,完全匹配原始数值。

内容的提问来源于stack exchange,提问作者J Boonders

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:28:03