我想把数字转换成时间,比如
10 -> 00:10
55 -> 00:55
75 -> 01:15
90 -> 01:30
705 -> 11:45
等等。我知道我可以编写一个方法并进行这种转换,但我需要它用于 DataGridView
,所以我最好使用字符串 Format
。
据我所知还没有实现这样的东西。我如何实现这种格式,以便我可以在网格的 DefaultCellStyle.Format
上设置它?
最佳答案
您可以先从分钟创建一个TimeSpan
:
TimeSpan minutes = TimeSpan.FromMinutes(705);
然后使用DateTime.Add
:
DateTime dt = DateTime.Today.Add( minutes );
现在您可以使用 DateTime.ToString
:
string text = dt.ToString("HH:mm");
你也可以使用 TimeSpan.ToString
(尽管 DateTime.ToString
更具可读性):
text = minutes.ToString(@"hh\:mm")
您可以使用 DataGridViews CellFormatting
事件。
How to: Customize Data Formatting in the Windows Forms DataGridView Control
关于c# - 自定义字符串格式,数字到时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22248261/