如何使用vb.net将datagridview中的列格式更改为日期“yyyy / MM / dd”

时间:2015-12-17 01:49:45

标签: mysql vb.net date datagridview

如何将datagridview中的列格式化为“yyyy / MM / dd”,因为我在mySql中获取了我的值并将其放入datagridview中。我的问题是在mysql中,date的格式是“yyyy / MM / dd”但是当它被转移到datagridview时它变成“MM / dd / yyyy”。我已经开始搜索它是如何完成的但它不起作用......

DateTime.parse("12/02/2015")
=> Thu, 12 Feb 2015 00:00:00 +0000 

谢谢!

2 个答案:

答案 0 :(得分:0)

我认为你应该使用

DataFormatString = "{0:yyy/MM/dd}"

BoundField.DataFormatString Property

答案 1 :(得分:0)

听起来您可能有数据类型错误。假设您在数据库列中具有以下日期,并且您在代码中具有格式化方法:

╔════════════════════╦════════════════╗
║ Date               ║ Event          ║
╠════════════════════╬════════════════╣
║ 2015-12-18 12:00:0 ║ Answer         ║
║ 2015-12-25 12:00:0 ║ Christmas      ║
║ 2015-12-31 23:59:0 ║ New Year's Eve ║
╚════════════════════╩════════════════╝

Me.DataGridView1.Columns("Date").DefaultCellStyle.Format = "yyyy/MM/dd"

您已提取数据并将日期存储在string类型属性或DateTime属性中 - 这一点很重要。当您的代码适用于string时,DateTime类型属性将忽略格式设置。例如:

╔════════════════════╗      ╔════════════════════╗
║ Date (string)      ║  VS  ║ Date (DateTime)    ║
╠════════════════════╣      ╠════════════════════╣
║ 2015-12-18 12:00:0 ║      ║ 2015/12/18         ║
║ 2015-12-25 12:00:0 ║      ║ 2015/12/25         ║
║ 2015-12-31 23:59:0 ║      ║ 2015/12/31         ║
╚════════════════════╝      ╚════════════════════╝

在绑定到DataGridViewColumn时,请确保您没有存储或转换日期以键入string