C#如何将DataGridView中获取的日期去除时间后格式化显示在MessageBox
你当前直接调用ToString()会使用系统默认的日期时间格式化规则,自动携带时间部分,只需要将单元格值转换为DateTime类型后,调用带格式参数的ToString()重载即可实现需求。
推荐兼容空值的安全写法
可以避免单元格为空时触发运行时报错:
if (dataGridView1.CurrentRow.Cells[4].Value != DBNull.Value && dataGridView1.CurrentRow.Cells[4].Value is DateTime dateValue) { // 指定格式输出日期 MessageBox.Show(dateValue.ToString("dd/MM/yyyy")); } else { // 自定义空值场景的展示内容 MessageBox.Show("无有效日期数据"); }
简化写法(确认字段永远非空时使用)
MessageBox.Show(Convert.ToDateTime(dataGridView1.CurrentRow.Cells[4].Value).ToString("dd/MM/yyyy"));
注意事项
如果运行后发现日期分隔符不是/而是其他符号(比如短横线),是受当前系统区域设置影响,可以指定固定区域规则保证格式统一,需要先引入命名空间using System.Globalization;,修改格式化代码为:
MessageBox.Show(dateValue.ToString("dd/MM/yyyy", CultureInfo.InvariantCulture));
内容的提问来源于stack exchange,提问作者MMelo31
相关产品推荐
相关产品推荐

