【问题标题】: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");