Сравнение даты поля со списком и поля с данными - PullRequest
0 голосов
/ 13 сентября 2018

Мое сравнение немного отличается от обычного сравнения между полем со списком и значением в таблице данных, которое я делал ранее. Я сравнил строки.

Но в этой ситуации, если выбранная дата в поле со списком - 1 января 2018 года; Мне нужно проверить, является ли первая дата (в столбце даты) в таблице данных 2 января 2018. Если дата в таблице данных не одна, а один день после выбранной даты в поле со списком, это должно привести к ошибке , всплывающая ошибка или что-то в этом роде.

Подтверждение должно быть 1 день ПОСЛЕ того, что в поле со списком.

Есть ли способ сравнения дат, следующих за определенной датой? дата + 1? что-то вроде этого?

1 Ответ

0 голосов
/ 13 сентября 2018

Вы можете просто сравнить две даты друг с другом (см. DateTime . Результатом будет объект TimeSpan , который имеет свойство Days, которое можно проверить, чтобы увидеть,это 1 или нет.

Dim day1 As New Date(2008, 1, 1)
Dim day2 As New Date(2008, 1, 2)

Dim result As TimeSpan = day2 - day1

Console.WriteLine("Number of Days: {0}", result.Days)

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

Dim day1 As New Date(2008, 1, 1)
Dim day2 As Date = day1.AddDays(1)

Edit
Поскольку вы спрашивали о разборе строки, вам нужно использовать функции синтаксического анализа Date (либо Parse, либо TryParse).

Dim date1 As Date
If Date.TryParse("2018-05-18", date1) Then
    Console.WriteLine("Date is {0}", date1)
Else
    Console.WriteLine("Couldn't parse")
End If

Итак, переписав приведенный выше пример, мы получим что-то вроде этого:

Dim day1 As Date

If Date.TryParse(comboBox.Text, day1) Then
    Dim dayPlus1 As Date = day1.AddDays(1)
    ' Compare with your database date here
Else
    'Handle the error case here
End If    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...