我如何显示时间列hh:mm tt在datagridview从MYSQL时间字段检索
本文关键字:时间 tt mm datagridview 检索 字段 MYSQL hh 何显示 显示 | 更新日期: 2023-09-27 17:50:41
我在MYSQL中有一个列LOGINTIME作为时间数据类型。
这个列有更多的值,比如
11:59:00
11:45:34
14:22:22
我想在datagridview中将这一列显示为'hh:mm tt'我的意思是,
11:59 AM
11:45 AM
02:22 PM
代码:dataGridView1.Columns["LOGINTIME"].DefaultCellStyle.Format = "hh:mm tt";
这是我使用的代码,它显示了一个错误。
http://postimg.org/image/fm01hhyzp/ MessageBox.Show(dataGridView1.Columns["LOGINTIME"].ValueType.ToString());
显示"System.TimeSpan"。那么如何将datagridview中的TimeSpan列格式化为"hh:mm tt"
。NET接受MYSQL的TIME数据类型为System。时间跨度不是System.DateTime.
这里你试图分配自定义日期时间格式,这就是为什么你得到错误为"输入字符串不是正确的格式"。
您需要分配自定义的TimeSpan格式,如
dataGridView1.Columns["LOGINTIME"].DefaultCellStyle.Format = @"hh':mm";
点击此链接了解更多关于自定义TimeSpan格式
https://msdn.microsoft.com/en-us/library/ee372287 (v = vs.110) . aspx
TimeSpan默认不支持12小时的时间格式。
您需要将TimeSpan转换为DateTime对象,并指定任何您想要的自定义DateTime格式。
查看我编辑的答案…
dataGridView1.Rows[Index].Cells["LOGINTIME"].Value = Convert.ToDateTime(dataGridView1.Rows[Index].Cells["LOGINTIME"].Value).ToString("hh:mm tt");