Проверьте, находится ли одна дата между двумя датами с разницей в несколько лет? - PullRequest
0 голосов
/ 31 марта 2011

Сегодняшняя дата - 31.03.2011 (по крайней мере, в Европе). Номер в отеле забронирован, скажем, с 23.02.2011 по 05.05.2013 (да, через два года!).

Как я могу проверить, находится ли сегодняшняя дата между зарезервированными датами или нет?

В идеале я хочу отсортировать его в логический массив из 3 измерений, например, дата (год, месяц, день), а TRUE означает «забронировано».

Предпочтительным языком является VBScript, потому что это мой единственный вариант, но Java / C можно использовать в качестве примера для работы (текст, объясняющий решение, конечно, тоже хорошо).

Спасибо!

Ответы [ 3 ]

2 голосов
/ 31 марта 2011

Не знаю VBScript, но библиотека времени / даты может обычно возвращать время в целочисленном формате (обычно секунды с 1970 года). Просто преобразуйте три даты в этот формат и проверьте с помощью обычных операторов сравнения

0 голосов
/ 01 апреля 2011
checkIn=DateSerial(2011,02,23)
checkOut=DateSerial(2013,05,05)
testMe=Now

If testMe>checkIn And testMe<checkOut Then
    MsgBox("Living the good life.")
End If
0 голосов
/ 31 марта 2011

Функции VBScript отмечает функцию Datediff, которую можно использовать с 3 переменными, представляющими каждый момент времени.Конечно, есть и другие решения, такие как преобразование даты в другой тип и использование ее для сравнения, например, объединение yyyyMMdd в целое число и сравнение их таким образом.

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