C# 数据表和日期列操作
我正在开发一个数据库驱动的c#应用程序 我有一个数据表,其中有一个日期列。将此datatable绑定到datagridview,让用户编辑记录,然后单击“保存”,将这些更改保存到数据库中 网格中的日期格式根据系统设置在C# 数据表和日期列操作,c#,ado.net,datatable,datetime-format,C#,Ado.net,Datatable,Datetime Format,我正在开发一个数据库驱动的c#应用程序 我有一个数据表,其中有一个日期列。将此datatable绑定到datagridview,让用户编辑记录,然后单击“保存”,将这些更改保存到数据库中 网格中的日期格式根据系统设置在dd/MM/yyyy和MM/dd/yyyy之间进行更改 数据输入操作员不够聪明,无法看到这种差异,因此在编辑记录时,他们有时会将记录移动到不同的月份 日期格式为2010年10月10日dd/MM/yyyy 他们想将其从10月10日改为10月12日。假设日期格式为MM/dd/yyyy,
dd/MM/yyyy
和MM/dd/yyyy
之间进行更改
数据输入操作员不够聪明,无法看到这种差异,因此在编辑记录时,他们有时会将记录移动到不同的月份
日期格式为2010年10月10日dd/MM/yyyy
他们想将其从10月10日改为10月12日。假设日期格式为MM/dd/yyyy
,他们进行了此更改10/12/2010
始终存在此问题,因此我想修复datatable中的日期格式
我可以使用哪些方法?使用此代码
var style = new DataGridViewCellStyle();
style.Format = "dd-MMM-yy";
colDate.DefaultCellStyle = style;
您不需要来回转换它,它将完成您想要实现的所有事情,您是否将列数据类型设置为DateTime?我不明白为什么会发生这个问题。在内部,.NET应将此单元格值保存为DateTime,并将其传递给数据库。日期格式不是问题。日期格式是UI问题,而不是持久性问题。如果日期存储在
DATETIME
列中,那么对于数据库来说就是这样。修复UI。在列属性DefaultCellStyle
中,可以将格式设置为MM/dd/yyyy