我在C#windows应用程序中填充了一个DataGridView。我有一个DataTable,我在其中显示从数据库中检索的日期。我的问题是,我从数据库获得的日期也包括时间信息。例如:Jan 2003 12:00:00 AM。
我想在数据表的单元格中仅显示该日期的年份和月份(2003年1月)。我试图改变当前线程的文化信息,但它没有用。还有其他方法可以达到这个目的吗?
我正在使用MySQL作为我的数据库,并且我已将此列的数据类型设置为DATE,但我仍然得到此时间信息。任何人都可以解释MySQL的这种行为吗?
答案 0 :(得分:1)
将列上的Format属性设置为the Month/Year format specifier:
// Set the Format property on the "Last Prepared" column to cause
// the DateTime to be formatted as "Month, Year".
dataGridView1.Columns["Last Prepared"].DefaultCellStyle.Format = "y";
答案 1 :(得分:1)
如果您希望在SQL级别执行此操作,则可以在select;
中执行此操作select convert(varchar(max),getdate(),107) as thedate
我总是建议不要抽象数据,让datagridview做化妆品。
答案 2 :(得分:0)
谢谢大家。 我通过更改查询解决了我的问题。我使用了MySql的date_format()函数,它给了我确切的格式。 这是提供有关此功能的更多信息的链接。
http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format