【问题标题】:String / DateTime Conversion problem (asp.net vb)字符串/日期时间转换问题(asp.net vb)
【发布时间】:2010-03-17 10:44:17
【问题描述】:

我有这个代码:

Dim birthdaystring As String = MonthBirth.SelectedValue.ToString & "/" & DayBirth.SelectedValue.ToString & "/" & YearBirth.SelectedValue.ToString
Dim birthday As DateTime = Convert.ToDateTime(birthdaystring)

这会产生错误(字符串未被识别为有效的日期时间。)

字符串是“01/31/1963”。

我们将不胜感激。

谢谢。

【问题讨论】:

    标签: asp.net string datetime


    【解决方案1】:

    问题可能是用于解析日期的文化需要 MM/dd/yyyy 格式而不是 dd/MM/yyyy 格式。

    直接创建DateTime值,而不是创建字符串并解析它:

    Dim birthday As New DateTime(YearBirth.SelectedValue, MonthBirth.SelectedValue, DayBirth.SelectedValue)
    

    【讨论】:

      【解决方案2】:

      不要创建一个稍后尝试解析为日期的字符串,试试这个:

      Dim birthday As DateTime = new DateTime(_
          CType(YearBirth.SelectedValue, Integer), _
          CType(MonthBirth.SelectedValue, Integer), _
          CType(DayBirth.SelectedValue, Integer))
      

      【讨论】:

        【解决方案3】:

        尝试将其更改为:

        DateTime.Parse(birthdaystring);
        

        我猜它会起作用,但如果不是 - 您可以在解析中添加第二个参数,说明您输入的格式,即:

        DateTime.Parse(birthdaystring,"MM/dd/yyyy");
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2014-09-21
          • 2016-03-13
          • 2010-10-19
          • 2017-09-13
          • 2020-06-05
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多