преобразовать строку в datetime vb.net - PullRequest
1 голос
/ 08 января 2010

Мне нужно преобразовать строки в формат даты.Требуется, если выбран текущий месяц, дата должна быть обновлена.если выбран какой-либо другой месяц, он должен быть первым в этом месяце.поступающие данные: «январь 2010», «февраль 2010» и т. д.но он должен быть вставлен в базу данных сервера SQL как 01/01/10 или 02/01/10

Ответы [ 4 ]

3 голосов
/ 08 января 2010

Я думаю, что следующее должно сделать эту работу за вас:

Dim theDate As DateTime = DateTime.ParseExact(input, "MMMM yyyy", CultureInfo.InvariantCulture)

InvariantCulture обеспечивает правильность разбора названий месяцев.

1 голос
/ 08 января 2010

DateTime.ParseExact должен помочь вам в VB.Net

0 голосов
/ 08 апреля 2010

Вы можете использовать эту функцию:

Private Function GetDate(ByVal source As String) As DateTime
    Dim converted = DateTime.Parse(source)
    If (converted.Year.Equals(DateTime.Now.Year) And converted.Month.Equals(DateTime.Now.Month)) Then
        GetDate = DateTime.Now
    Else
        GetDate = converted
    End If
End Function

он может анализировать значения прошедшего месяца + года, такие как "апрель 2010".

0 голосов
/ 08 января 2010

Метод DateTime.ParseExact (String, String, IFormatProvider)

DateTime dt = DateTime.ParseExact(dateString,formatString);
dt = (dt.Month == DateTime.Now.Month) ? DateTime.Now : dt;

Если ваш вызов это часто выполняется в цикле, может быть лучше, если вы вызовете DateTime.Now только один раз и сохраните его в переменной перед сравнением, поскольку DateTime.Now - довольно дорогая операция.

Если столбец сервера SQL имеет тип DateTime, вам не нужно беспокоиться о формате, просто передайте объект DateTime, и он будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...