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

如何用TimeSpan或其他方法将分钟转换为总小时:分钟格式?

解决分钟转“总小时:分钟”格式的问题

你之前用TimeSpan.ToString(@"hh\:mm")得到错误结果,是因为hh格式符只会提取当天内的小时(范围00-23),当总分钟数超过24小时(1440分钟),TimeSpan会把多余的时长转成天数,hh只取当天的小时部分,所以1515分钟(25小时15分)会被解析成1天1小时15分,最终输出01:15。

两种可行的解决方法

方法一:基于TimeSpan计算总小时和剩余分钟

通过TimeSpan的TotalHours获取总小时数(带小数),取整数部分作为总小时,再结合Minutes获取剩余分钟(即总分钟模60的结果):

int minutes = 1515;
TimeSpan timeSpan = TimeSpan.FromMinutes(minutes);
string time = $"{(int)timeSpan.TotalHours}:{timeSpan.Minutes:D2}";
// 输出:25:15

其中D2用于确保分钟始终显示两位数字,比如5分钟会输出05。

方法二:直接算术计算(无需TimeSpan)

直接通过整数除法和取模运算计算总小时和剩余分钟,逻辑更直观:

int minutes = 1515;
int totalHours = minutes / 60;
int remainingMinutes = minutes % 60;
string time = $"{totalHours}:{remainingMinutes:D2}";
// 输出:25:15

补充说明

TimeSpan的内置格式符里没有直接输出总小时的选项,hh/HH都只能表示当天内的小时,所以无法通过单一的ToString格式字符串实现需求,必须手动拼接总小时和分钟的结果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.13 21:15:02