如何让Time.ToString输出总分钟数(如90)而非单小时内分钟值?
问题解决方法
问题根源
time.ToString("mm")里的"mm"格式符是用来提取时间点中的分钟字段(范围0-59),而非计算时长的总分钟数。当总时长为90分钟时,它本质是1小时30分钟,mm只会提取时间点里的30分钟部分,所以显示30而非90。
解决方案
分两种情况处理:
- 如果
time是TimeSpan类型(推荐用来存储时长):
直接调用TotalMinutes属性获取总分钟数,再转为字符串:// 取整数分钟 label_time.Text = ((int)time.TotalMinutes).ToString(); // 如果需要保留小数(比如包含秒数转换的分钟) label_time.Text = time.TotalMinutes.ToString(); - 如果
time是DateTime类型(不建议用DateTime存时长,更适合存时间点):
通过小时和分钟计算总分钟数:label_time.Text = (time.Hour * 60 + time.Minute).ToString();
内容的提问来源于stack exchange,提问作者Preslava Ivanova
相关产品推荐
相关产品推荐

