1

我有一个 SQL 表中的日期字段进入DataGridViewc# 中。但是由于某种原因,它也带有时间,即使它只是一个日期字段。

图片

4

4 回答 4

3

将您的 DateTime 对象保留为 DateTime。DataGridView 提供了一个格式字符串属性,您可以在其中根据需要设置 DateTime 对象的格式。

这将使您开始格式化日期 - http://msdn.microsoft.com/en-us/library/az4se3k1.aspx

于 2013-07-25T16:46:04.010 回答
1

如果你想要它以任何特定格式这样做

 string format = "dd/MM/yyyy";
 string dateOnly = dt.ToString(format, CultureInfo.InvariantCulture);

如果您的数据库返回字符串,您也必须这样做

 DateTime dt = DateTime.ParseExact(yourDateTimeString, "dd/MM/yyyy hh:mm:ss tt", CultureInfo.InvariantCulture);
于 2013-07-25T16:31:22.437 回答
1

作为DataGridView使属性 a的数据绑定对象的一部分string

public class DataBindingObj
{
    public string DateRemoved { get; set; }
}

使用DateTime.ToShortDateString.

这将返回特定于文化的格式(M/d/yyyy对于 en-US)。

var bindingObjs = new List<DataBindingObj>();

foreach(var obj in dataFromDatabase)
{
    var bindingObj = new DataBindingObj { DateRemoved = obj.DateRemoved.ToShortDateString() };
    bindingObjs.Add(bindingObj);
}

dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = bindingObjs;

编辑:从评论看来 DataGridView 有一个属性:

public class DataBindingObj
{
    public DateTime DateRemoved { get; set; }
}

dataGridView1.AutoGenerateColumns = true;
dataGridView1.DataSource = bindingObjs;
dataGridView1.Columns["DateRemoved"].Format = "d";
于 2013-07-25T16:28:23.207 回答
0

DATETIME如果未指定时间,则12:00:00 AM 是 C# 中类型的默认时间。

仅获取日期使用dateTime.ToShortDateString()

于 2013-07-25T16:29:14.840 回答