You need to enable JavaScript to run this app. C# 实现带Hr标识的时分格式时间转整数分钟值并完成时长求和计算
优惠活动
大模型
产品
解决方案
定价
更多

C# 实现带Hr标识的时分格式时间转整数分钟值并完成时长求和计算

实现方案

完全可以基于你现有代码结构完成计算,核心逻辑是先把HH:mm Hr格式的时长拆解换算为分钟整数,再做整数累加即可。

具体实现步骤

  • 调整现有变量定义:你之前代码里的time_1/time_2/time_3需要调整为字符串类型,用来存储带Hr标识的原始时长值。
  • 写一个通用的时长换算辅助方法,避免重复写拆分逻辑,代码逻辑直白好懂:
    // 输入"01:30 Hr"这类格式的字符串,输出对应的总分钟数
    int RawTimeToMinutes(string rawTimeStr)
    {
        // 去掉字符串末尾的" Hr"标记,只保留前面的时分部分
        string pureTime = rawTimeStr.Replace(" Hr", "");
        // 按冒号拆分出小时、分钟的文本片段
        string[] splitResult = pureTime.Split(':');
        // 把文本转成整数做计算
        int hourPart = int.Parse(splitResult[0]);
        int minutePart = int.Parse(splitResult[1]);
        // 换算成总分钟数返回
        return hourPart * 60 + minutePart;
    }
    
  • 在原有Start方法里调用换算方法,把转换后的整数做累加,完整的可运行代码结构如下:
    public int total_time;
    // 存储原始时长的字符串变量,直接填入你实际的时长值即可
    public string time_1 = "01:30 Hr";
    public string time_2 = "09:45 Hr";
    public string time_3 = "13:27 Hr";
    
    void Start()
    {
        total_time = RawTimeToMinutes(time_1) + RawTimeToMinutes(time_2) + RawTimeToMinutes(time_3);
    }
    

新手调整提示

  • 如果你的实际数据里Hr前面没有空格(比如格式是13:27Hr),只需要把辅助方法里的Replace(" Hr", "");改成Replace("Hr", "");即可,避免把前面的数字误删除。
  • 如果拆分用的冒号是中文全角格式,把Split(':')里的英文冒号换成对应的全角冒号:即可适配。
  • 按照上面的代码计算你给的三个样例值,最终得到的total_time结果是1482分钟;如果你之前举例的求和结果对应13:45的数值,只需要把time_3的原始值改成对应格式即可。
  • 除了手动拆分的方式,.NET自带的TimeSpan结构也可以直接解析标准的时分格式,比如TimeSpan.Parse("01:30").TotalMinutes可以直接得到对应的分钟数,但手动拆分的逻辑更直观,适合新手理解完整的转换过程,遇到格式小偏差的时候也更容易调整修复。
  • 如果你后续要统计更多时长,不需要反复拼接加号,可以把所有原始时长字符串放到一个列表里,循环遍历做换算累加,代码会更简洁。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.02 22:15:04