我如何显示时间列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"

我如何显示时间列hh:mm tt在datagridview从MYSQL时间字段检索

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