0

所以我有一个存储的过程,我正在传递日期时间参数也返回数据......问题是我想传递默认日期和时间但不知道如何做到这一点,因为我只能看到 datetime.now...这是我的代码...

public void RefreshLabeldata(int selectedProduct, DateTime shiftStart, DateTime shiftEnd)
{
    BizManager biz = new BizManager();

    DataSet dt = new DataSet();
    dt = biz.GetTotalPacked(
        shiftStart 
      , shiftEnd
      , selectedProduct).DataSet;
    labeltotal.Text = dt.Tables[0].Rows[0]["TotalPacked"].ToString();
}

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        Refreshdata(214, DateTime.Today, DateTime.Today.AddDays(1).AddMinutes(-1));
        BindDropDownList();
        RefreshLabeldata(214, DateTime.Today , DateTime.Today);
        ...
    }
...
}

我想传递我的 sql 存储过程接受的日期,即 shiftStart 2016-06-06 06:00 shiftEnd 2016-06-06 14:00。

我知道我的日期时间都是错误的 :) 我仍在试图弄清楚这部分。

4

3 回答 3

0

要将当前日期与您请求的格式一起使用,请尝试以下操作:

 Refreshdata(214, DateTime.Now.ToString("yyyy-MM-dd HH:mm"), DateTime.Now.AddDays(1).ToString("yyyy-MM-dd HH:mm"));
于 2018-06-06T12:10:51.630 回答
0

如果您正在学习如何将 DateTime 作为参数传递,请阅读 DateTime 文档。这里

DateTime.Today将包含类似6/6/2018 12:00:00 AM. 如果您知道确切的日期和时间,那么DateTime.Today您可以使用DateTime.ParseExact(dateString, format, provider).

其中dateString将是字符串格式的日期。

格式将包含日期时间格式,例如"yyyy-MM-dd".

提供者将是文化信息。更多详情MSDN

总而言之,尝试使用

RefreshLabeldata(214, DateTime.ParseExact("2018-06-06", "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture) , DateTime.ParseExact("2018-06-07", "yyyy-MM-dd", System.Globalization.CultureInfo.InvariantCulture))
于 2018-06-06T12:05:49.957 回答
0

我认为这对你有帮助......

String.Format("{0:yyyy-MM-dd hh mm}", YourDate)

请参阅此链接:http ://www.csharp-examples.net/string-format-datetime/

于 2018-06-06T13:12:18.940 回答