c#自动将am / pm添加到我的(字符串)日期值

时间:2017-03-20 07:05:18

标签: c# mysql datagridview

我有一个datagridview将显示从数据库中提取的日期值(mysql),参见图片 enter image description here

数据库中的值是(datatype是datetime)

2018-02-28 00:00:00
2017-02-02 00:00:00

在程序代码中我使用此

设置值
dataObj.special_from_date = (string)productData.Tables[0].Rows[i]["special_from_date"].ToString();
dataObj.special_to_date = (string)productData.Tables[0].Rows[i]["special_to_date"].ToString();

除了datagridview单元格,在textfield中它还会显示am / pm上午/下午文本的值,有谁知道是什么原因?

-------------------------更新--------------------- ---------

DateTime sfd = DateTime.Now;
    if (productData.Tables[0].Rows[i]["special_from_date"].ToString() != "") {
    //DateTime sfd = DateTime.TryParseExact(productData.Tables[0].Rows[i]["special_from_date"].ToString();
    MessageBox.Show("tet");
    if (DateTime.TryParseExact(productData.Tables[0].Rows[i]["special_from_date"].ToString(), "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out sfd))
       {
                            // use d
        MessageBox.Show(sfd.ToString());
       }
    }
    public DataSet selectConnect(MySqlCommand cmd)
    {

        try
        {

            adapter = new MySqlDataAdapter();
            ds = new DataSet();

            cmd.CommandTimeout = 60;
            cmd.ExecuteNonQuery();

            adapter.SelectCommand = cmd;
            adapter.Fill(ds);

            adapter.Dispose();
            cmd.Dispose();


        }
        catch (Exception ex)
        {
            // Show any error message.
            MessageBox.Show(ex.Message);
        }

        return ds;

    } //connect
        dao dao = dao.GetInstance;
        databaseConnection = dao.connect();
        sqlCmd = new MySqlCommand(sql, databaseConnection);
        DataSet ds = new DataSet();


        databaseConnection.Open();
        ds = dao.selectConnect(sqlCmd);
        List<productData> products = dao.getProducts(ds);
        productData product = products.First();

1 个答案:

答案 0 :(得分:0)

这是因为本地化会自动应用于您的结果。您可以在转换为字符串时格式化日期时间,这有助于您避免这种情况。

dataObj.special_from_date = productData.Tables [0] .Rows [i] [&#34; special_from_date&#34;]。ToString(&#34; MM / dd / yyyy hh:mm:ss&#34;);