关于C#:将字符串转换为日期格式

Converting a string into date format in the code behind

本问题已经有最佳答案,请猛点这里访问。

我正在使用jquery日期选择器提取日期,并使用以下代码将其存储在文本框中

在头部

1
2
3
4
5
6
7
8
9
10
<script src="Scripts/jquery.ui.datepicker.js" type="text/javascript">
<script type="text/javascript">
    $(function () {
        $("#<%= TxtDatepicker_start.ClientID %>").datepicker();
    });
   
<script type="text/javascript">
    $(function () {
        $("#<%= TxtDatepicker_end.ClientID %>").datepicker();
    });

在身体部位


BR/>开始日期:

1
2
3
  &nbsp;&nbsp;End Date:
  </asp:TextBox>
  &nbsp;&nbsp;&nbsp;&nbsp;<br />


BR/>

现在的问题是,如何获取文本框中的值并将其转换为代码隐藏的日期(YYYY-MM-DD)格式?

我试过打字,但在后面的代码中发现了这个错误。

无法将System.DateTime隐式转换为System.Common.DBParameter

我在代码隐藏中使用的代码是

1
2
3
4
5
6
7
protected void SqlDataSource2_Selecting(object sender, SqlDataSourceSelectingEventArgs e)
        {
            e.Command.Parameters["@username"].Value = HttpContext.Current.User.Identity.Name;
            e.Command.Parameters["@Txt_selected_start_date"] = DateTime.Parse(TxtDatepicker_start.Text);


        }

谢谢


问题是,e.command.parameter["…"]需要的类型不是datetime。字符串通常有效,请尝试

1
DateTime.Parse(txtDatepicker_end.Text).ToString("YYYY-MM-dd");

datetime的toString()方法将允许您对日期应用任何格式。

你也忘记了:

1
e.Command.Parameter["..."]

应该是

1
e.Command.Parameter["..."].Value

需要将结果赋给dbparameter的.value属性:

1
e.Command.Parameters["@Txt_selected_start_date"].Value = DateTime.Parse(TxtDatepicker_start.Text);


1
DateTime.Parse(TxtDatepicker_end.Text);