c #sql日期没有时间返回

时间:2017-03-27 10:29:22

标签: c# mysql sql-server

您好我正在尝试从sql表中获取日期,但每当我得到它时,它会返回时间。即使在数据库表中它也没有时间。

        con.Open();
        OdbcCommand cmd = con.CreateCommand();
        cmd.CommandType = CommandType.Text;
        cmd.CommandText = "Select I_InvoiceNo, I_Date from tblOrdInvoice where O_OrderNo = '" + orderNoTxt.Text + "'";
        cmd.ExecuteNonQuery();
        con.Close();
        DataTable dt = new DataTable();
        OdbcDataAdapter sda = new OdbcDataAdapter(cmd);
        sda.Fill(dt);
        foreach (DataRow dr in dt.Rows)
        {
            invoiceNoTxt.Text = dr["I_InvoiceNo"].ToString();
            invoiceDateTxt.Text = dr["I_Date"].ToString();
        }

该日期将以" 27/03/2017 00:00:00" 。我只想要约会。请帮助。

2 个答案:

答案 0 :(得分:1)

将代码更改为:

string dateFormat = "dd-MMM-yyyy";
invoiceDateTxt.Text = dr.Field<DateTime>("I_Date").ToString(dateFormat);

dateFormat变量更改为您喜欢的任何格式。

答案 1 :(得分:0)

您可以将DateTime从代码端转换为您想要的任何格式。 例如,使用:

invoiceDateTxt.Text = dr["I_Date"].ToString("dd/MM/yyyy");

或者如果你只想从mysql中获取日期部分,那么你可以使用类似下面的内容:

SELECT CONVERT(VARCHAR(10), GETDATE(), 112) 'Date Part Only'

RESULT:
Date Part Only
--------------
20170327
Example 2:

SELECT CONVERT(VARCHAR(10), GETDATE(), 111) 'Date Part Only'

RESULT:
Date Part Only
--------------
2017/03/27

有关详细信息,请访问此link