繁体   English   中英

如何在从MYSQL时间字段检索的datagridview中将时间列显示为hh:mm tt?

[英]How do I display time column as hh:mm tt in datagridview which is retrieved from MYSQL time field?

我在MYSQL中将LOGINTIME列作为TIME数据类型。

该列具有更多值,例如

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.TimeSpan而不是System.DateTime。

在这里,您尝试分配自定义的DateTime格式,这就是为什么由于“输入字符串的格式不正确”而出现错误。

您需要分配自定义TimeSpan格式,例如

dataGridView1.Columns["LOGINTIME"].DefaultCellStyle.Format = @"hh\:mm";

检查此链接以了解有关自定义TimeSpan格式的更多信息

https://msdn.microsoft.com/zh-CN/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");

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM