[英]How do I update the Time Portion of a custom(dd/MM/yyyy hh:mm:ss tt) DateTime Cell in the DataGridView?
[英]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.