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

标签 c# .net datagridview string-formatting number-formatting

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

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/

相关文章:

.net - 为什么在没有事务的情况下插入 1M 记录比在事务中插入要慢?

vb.net - 如何将 DataGridView 列从字符串转换为十进制?

c# - 如何使用 SqlDataSource 处理异常

javascript - 选择下拉列表中的项目时,如何立即动态更新 div?

c# - MaxConcurrentRequestsPerCPU 和 MaxConcurrentThreadsPerCPU 没有按照记录工作?

c# - 如何更好地检查 Request.QueryString 字符串参数是否为空?

c# - 尝试按选定行遍历 DataGridView;接收索引越界

c# - 难以在 C# 中的 SQLite 数据库上运行并发 INSERTS

c# - "Force-casting"返回类型

c# - 设计指南 - 来自数据库中松散类型键/值的动态 ViewModel