我在SQL表中有一个日期字段,它来自c#中的DataGridView
。但出于某种原因,它也有时间,即使它只是一个日期字段。
答案 0 :(得分:3)
将DateTime对象保留为DateTime。 DataGridView提供了一个格式字符串属性,您可以根据需要格式化DateTime对象。
这将让您开始格式化日期 - http://msdn.microsoft.com/en-us/library/az4se3k1.aspx
答案 1 :(得分:1)
作为DataGridView
的数据绑定对象的一部分,将属性设为string
。
public class DataBindingObj
{
public string DateRemoved { get; set; }
}
这将返回特定于文化的格式(en-US为M/d/yyyy
)。
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";
答案 2 :(得分:1)
如果你想要它在任何特定的format这样做
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);
答案 3 :(得分:0)
12:00:00 AM是C#中DATETIME
类型的默认时间,如果未指定时间。
仅使用dateTime.ToShortDateString()