Проблема преобразования строки / даты и времени (asp.net vb) - PullRequest
0 голосов
/ 17 марта 2010

У меня есть этот код:

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

, что приводит к ошибкам (строка не была распознана как действительный DateTime.)

Строка была "31.01.1963".

Буду признателен за любую помощь.

Спасибо.

Ответы [ 3 ]

2 голосов
/ 17 марта 2010

Проблема, вероятно, в том, что культура, используемая для анализа даты, ожидает формат MM / dd / yyyy, а не формат dd / MM / yyyy.

Вместо того, чтобы создавать строку и анализировать ее, создайте значение DateTime напрямую:

Dim birthday As New DateTime(YearBirth.SelectedValue, MonthBirth.SelectedValue, DayBirth.SelectedValue)
1 голос
/ 17 марта 2010

Попробуйте изменить его на:

DateTime.Parse(birthdaystring);

Я предполагаю, что это будет работать, но если нет - вы можете добавить второй параметр к анализу, говорящий о формате, который вы вводите, т.е.

DateTime.Parse(birthdaystring,"MM/dd/yyyy");
1 голос
/ 17 марта 2010

Вместо создания строки, которую вы позже попытаетесь проанализировать по дате, попробуйте это

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