微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 如何在datatable / datagridview中以小时,分钟,秒,100表示​​时间

我是一名嵌入式c程序员.我之前使用过c#,但这是我第一次尝试复杂的,面向对象的项目.

我创建了一个数据表并链接到datagridview,以便在Windows窗体中显示数据.

到目前为止它运作良好.数据以int形式存储,主要包括自100秒之后的事件信息以来的时间. (这是比赛计时系统的前端).因此,例如12345表示123.45秒.

我想以2:03.45的形式表明这一点

我知道可以选择以日期和时间格式在数据表中存储数据.但是我不确定这是否能满足我的要求…没有日期要求,而且似乎没有覆盖100秒.

我可以格式化一个字符串,但这似乎有点笨重,所以想检查没有更好的方法.此外,我需要能够使用datagridview的排序功能,根据最短的时间对每列进行排序.这目前有效,但我不确定它会用字符串吗?

解决方法

您可以创建TimeSpan,然后将其格式化为您想要的任何格式:

TimeSpan span = TimeSpan.FromMinutes(123.45);
string label = span.ToString(@"hh\:mm\:ss\:ff");

输出

02:03:27

所以现在如果你希望输出为123分钟,45分钟为秒

double smd = 123.45;
TimeSpan span = TimeSpan.FromMinutes(smd);
string label = span.ToString(@"hh\:mm") + ":" + (int) (((decimal) smd % 1) * 100);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐