【问题标题】:Split Date and Time in DataGridView在 DataGridView 中拆分日期和时间
【发布时间】:2026-01-16 06:35:01
【问题描述】:

我在DataGridView 中有一个DATETIME 列,其中包含日期和时间。我需要将日期与时间分开。日期应显示在一列中,时间应显示在另一列中。

我尝试了一些方法,但它只给出了日期或时间;但是,我分别需要它们。

【问题讨论】:

  • 没有看到你的代码,很难给出准确的答案。如果它是DateTime 数据类型,您可以使用.ToShortDateString().ToShortTimeString() 来获取日期或时间。
  • 你的最后一句话很令人困惑......你只得到日期和时间,但你需要两个分开......???

标签: c# winforms datagridview


【解决方案1】:

你可以简单地做(例子):

DateTime dt = DateTime.Now;

string date = dt.ToShortDateString();
string time = dt.ToShortTimeString();

然后,插入对应DataGridView的单元格:

dataGridView1[0, 1].Value = date;
dataGridView1[0, 2].Value = time;

【讨论】:

  • 既然是DataGridView,我怀疑他是否基于单个变量的数据......在这种情况下,这个解决方案将太多工作。格式化单元格值是一种更简单、更优雅的解决方案。
  • 毫无疑问,在这种情况下,您提出的解决方案是完美的,(您得到了我的 +1)
  • 日期列转成字符串是不能排序的。
【解决方案2】:

您可以格式化一列的单元格:

dataGridView.Columns[#].DefaultCellStyle.Format = "MM/dd/yyyy"; dataGridView.Columns[#].DefaultCellStyle.Format = "HH:mm";

# 替换为目标列。

所有常规的DateTime 格式选项都可用于上述示例。您可以根据自己的需要对其进行调整。要查看可用选项,请参阅 MSDN 的 Custom Date and Time Formatting Strings 文档页面。

【讨论】: