自定义字符串格式,数字到时间

Mah*_*ari 1 .net c# datagridview string-formatting number-formatting

我想把一个数字转换成一个时间,比如

10  ->  00:10  
55  ->  00:55  
75  ->  01:15  
90  ->  01:30  
705 ->  11:45 
Run Code Online (Sandbox Code Playgroud)

等等.我知道我可以编写一个方法并执行此转换,但我需要它DataGridView以便我最好使用字符串Format.

据我所知,没有实施这样的事情.我如何实现这种格式,以便我可以在Grid上设置它DefaultCellStyle.Format

Tim*_*ter 5

您可以TimeSpan先从分钟创建一个:

TimeSpan minutes = TimeSpan.FromMinutes(705);
Run Code Online (Sandbox Code Playgroud)

然后使用DateTime.Add:

DateTime dt = DateTime.Today.Add( minutes );
Run Code Online (Sandbox Code Playgroud)

现在你可以使用DateTime.ToString:

string text = dt.ToString("HH:mm");
Run Code Online (Sandbox Code Playgroud)

你也可以使用TimeSpan.ToString(虽然DateTime.ToString更具可读性):

text = minutes.ToString(@"hh\:mm")
Run Code Online (Sandbox Code Playgroud)

您可以使用DataGridViews CellFormatting事件.

如何:在Windows窗体DataGridView控件中自定义数据格式