字符串/日期时间转换问题(asp.net vb)

时间:2010-03-17 10:44:17

标签: asp.net string datetime

我有这段代码:

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

产生错误(String未被识别为有效的DateTime。)

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

任何帮助都将不胜感激。

感谢。

3 个答案:

答案 0 :(得分:2)

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

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

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

答案 1 :(得分:1)

不要创建稍后尝试解析为日期的字符串,而是尝试:

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

答案 2 :(得分:1)

尝试将其更改为:

DateTime.Parse(birthdaystring);

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

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