时间显示在SQL的仅日期字段中

时间:2013-07-25 16:27:37

标签: c# sql sql-server

我在SQL表中有一个日期字段,它来自c#中的DataGridView。但出于某种原因,它也有时间,即使它只是一个日期字段。

Image

4 个答案:

答案 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; }
}

使用DateTime.ToShortDateString

这将返回特定于文化的格式(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()

获取日期