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

C#开发中如何将TimeSpan类型变量转换为取整后的整型秒数

C# TimeSpan转四舍五入秒数实现方法

核心逻辑为提取TimeSpan的TotalSeconds属性(包含小数部分的总秒数双精度值),配合Math类的舍入方法完成转换即可,具体实现如下:

基础实现

默认使用.NET官方Math.Round的银行家舍入规则(四舍六入五取偶):

using System.Diagnostics; // 引入Stopwatch所在命名空间
using System;

Stopwatch stopwatch = Stopwatch.StartNew();
// 你的业务代码
stopwatch.Stop();

TimeSpan elapsed = stopwatch.Elapsed;
// 四舍五入转整数秒
int roundedSeconds = (int)Math.Round(elapsed.TotalSeconds);

标准四舍五入(0.5秒统一进1)

如果需要符合国内常用的四舍五入规则(五直接入),指定MidpointRounding参数即可:

int roundedSeconds = (int)Math.Round(elapsed.TotalSeconds, MidpointRounding.AwayFromZero);

其他常用舍入场景

  • 向上取整(只要存在小数部分就进1秒,适合最小统计单位为1秒的场景):
    int ceilingSeconds = (int)Math.Ceiling(elapsed.TotalSeconds);
    
  • 向下取整(直接舍去小数部分,仅统计完整秒数):
    int floorSeconds = (int)Math.Floor(elapsed.TotalSeconds);
    // 时间差为非负数时,也可以直接强转:int floorSeconds = (int)elapsed.TotalSeconds;
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 19:15:05