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);

相关文章

目录简介使用JS互操作使用ClipLazor库创建项目使用方法简单测...
目录简介快速入门安装 NuGet 包实体类User数据库类DbFactory...
本文实现一个简单的配置类,原理比较简单,适用于一些小型项...
C#中Description特性主要用于枚举和属性,方法比较简单,记录...
[TOC] # 原理简介 本文参考[C#/WPF/WinForm/程序实现软件开机...
目录简介获取 HTML 文档解析 HTML 文档测试补充:使用 CSS 选...