Yuan天空
Yuan天空
  • 我的主页
  • 博客随笔
  • 软件作品
    • TK精灵(进程守护)
    • 远程运维助手
    • DicomStoreSCU
    • TKOCR(离线OCR)
    • 更多...
  • 学习资源
  • 网址收藏
  • HTML模板
专注.NET开发技术领域
  1. 主页
  2. 博客
  3. 发布页

C#编程开发TimeSpan属性Minutes与TotalMinutes的区别

TimeSpanMinutesTotalMinutesMinutes与TotalMinutes的区别
编程开发 2024-03-25 44

日常C#编程开发中,TimeSpan 结构体用于表示两个日期或时间之间的间隔,属于是比较常用的类型。它提供了多个属性来访问这个间隔的各个组成部分,如天(Days)、小时(Hours)、分钟(Minutes)和秒(Seconds)等。在这些属性中,Minutes 和 TotalMinutes 尤为常用,但它们在功能和使用场景上有所不同。

按理说写了这么多年代码应该不至于分不清这两个属性的区别,但偏偏最近一个项目开发任务疏忽了这个问题就犯了这个低级的错误,导致一个小小的清理功能的简单时间判断循环任务直接进入死循环,直接把服务器资源给肝爆了0.0 还好属于测试阶段发现的早。

C#编程开发TimeSpan属性Minutes与TotalMinutes的区别

Minutes 属性

Minutes 是 TimeSpan 结构体中的一个成员,用于获取时间间隔的分钟数部分,但这个值并不包括整小时数。也就是说,Minutes只是时间间隔中不满一小时的部分所包含的分钟数。

总结:当你的业务开发逻辑需要知道某个时间间隔中除了整小时数之外的分钟数时,可以使用 Minutes。

(举例子:你有一个时间间隔为 1 小时 30 分钟,那么 Minutes 属性将返回 30,因为它只计算非整小时的分钟数。)

TimeSpan interval = TimeSpan.FromMinutes(90); // 相当于 1 小时 30 分钟  
int minutesPart = interval.Minutes; // minutesPart 将会是 30

TotalMinutes 属性

与 Minutes 不同的是,*TotalMinutes 属性返回的是时间间隔的总分钟数,包括整小时数和小数分钟数。这个值是一个双精度浮点数(double),可以精确到小数点后两位。

总结:当你需要知道某个时间间隔的总分钟数,包括整小时数和小数分钟数时,可以使用 TotalMinutes。 (举例子:你有一个时间间隔为 2 小时 20.5 分钟,那么 TotalMinutes 将返回 140.5)。

TimeSpan interval = TimeSpan.FromHours(2) + TimeSpan.FromMinutes(20.5); // 相当于 2 小时 20.5 分钟  
double totalMinutes = interval.TotalMinutes; // totalMinutes 将会是 140.5

总结说明

TotalMinutes 用于计算时间长度(换算成分钟的时间长度)

Minutes 是获取当前 TimeSpan 的分钟属性的数值

问题反馈/学习建议
1. 文明上网,理性表达,营造舒适的学习氛围
2. 请不要反馈提交与本页主题无关内容
标题目录
  • Minutes 属性
  • TotalMinutes 属性
  • 总结说明