【问题标题】:Save two TextBox as DateTime asp.net C#将两个文本框另存为日期时间 asp.net C#
【发布时间】:2012-09-12 19:10:46
【问题描述】:

我有两个文本框,第一个我有这种格式的日期:2012.09.20,第二个我有这种格式的时间:15:30:00。在数据库中,我有列名“Eventstart”类型:DateTime。现在我喜欢从两个文本框中取值并将它们放在这样的地方:

DateTime end = Convert.ToDateTime(TextBoxEnd.Text) + Convert.ToDateTime(TextBoxTimeEnd.Text);

但是给我这个错误:错误 2 运算符“+”不能应用于“System.DateTime”和“System.DateTime”类型的操作数

【问题讨论】:

    标签: c# asp.net database visual-studio-2010 datetime


    【解决方案1】:

    听起来你应该使用:

    DateTime date = Convert.ToDateTime(TextBoxEnd.Text);
    DateTime time = Convert.ToDateTime(TextBoxTimeEnd.Text);
    DateTime combined = date.Date + time.TimeOfDay;
    

    或者你可以结合 text 然后解析它:

    DateTime dateTime = Convert.ToDateTime(TextBoxEnd.Text + " " +
                                           TextBoxTimeEnd.Text);
    

    我不确定我是否会使用Convert.ToDateTime - 如果您知道文本框的确切格式,您应该使用DateTime.TryParseExact。不过,您应该确定在这种情况下使用哪种文化。如果它是真正固定的精确格式,CultureInfo.InvariantCulture 可能是合适的。如果它是特定于文化的格式,则使用用户的文化。

    您可能还想使用根本不使用文本框的替代 UI 表示,这将避免潜在的麻烦字符串转换。

    【讨论】:

      【解决方案2】:

      连接您的 TextBoxes 文本并使用 DateTime.ParseExact 格式为 "yyyy.MM.dd HH:mm:ss"

      连接文本后你应该有:"2012.09.20 15:30:00"

      DateTime dt = DateTime.ParseExact(TextBoxEnd.Text + " " + TextBoxTimeEnd.Text, 
                                        "yyyy.MM.dd HH:mm:ss", 
                                        CultureInfo.InvariantCulture);
      

      【讨论】:

        【解决方案3】:

        你有没有尝试过类似的东西

        DateTime end = Convert.ToDateTime(TextBoxEnd.Text) + TimeSpan.Parse(TextBoxTimeEnd.Text);
        

        【讨论】:

          【解决方案4】:

          首先连接两个值,然后将其添加到 DateTime 变量中

          示例:

          string str = date.Text + time.Text;  // assumed date and time are textboxes
          
          DateTime dt=new DateTime();
          DateTime.TryParse(str,dt); // returns datetime in dt if it is valid
          

          【讨论】:

          • Add 采用 TimeSpan 对象,而不是另一个 DateTime,原因很明显,添加两个日期没有任何意义。
          • @verdesmarald 抱歉,这是个错误。我认为需要,但没有添加日期时间的方法。
          猜你喜欢
          • 1970-01-01
          • 2015-09-05
          • 1970-01-01
          • 2011-04-21
          • 1970-01-01
          • 1970-01-01
          • 2018-08-21
          • 1970-01-01
          • 2011-03-11
          相关资源
          最近更新 更多