У меня есть программа планировщика, которую я пишу для школьного проекта. База данных MySQL находится в UT C, интерфейс планировщика - по местному времени. У меня все работает просто отлично, я конвертирую туда и обратно, как положено, за исключением того, что я в PST, что составляет -8 часов.
Встречи, которые установлены после 16:00 по местному времени, не отображаются в интерфейсе на этот день, они появляются на следующий день. Они показывают правильный день и время, но, поскольку я извлекаю их из базы данных, сравнивая дату базы данных, он считает, что это следующий день. (Интерфейс в этом случае - Visual Basi c datagridview.)
Как я могу добавить эти часы к дате, прежде чем сравнивать ее? Вот моя строка запроса:
STRING sqlString = "SELECT ADDTIME(START, '" + Global.OffsetString + "'),
ADDTIME(END, '" + Global.OffsetString + "')
FROM appointment
WHERE DATE(START) = '" + DateOnly + "' AND userId = " + Global.uNum;
Я знаю, что использование номера смещения может быть не лучшим, но это глобальная переменная, которая запускается каждый раз, когда они запускают программу, и это для проекта класса , У меня есть доступ только на стороне пользователя, я не могу влиять на базу данных, поэтому я не могу использовать tz.
Самая большая проблема заключается в том, что я не знаю, как складывать (или вычитать, я нахожусь в -8 часах) часы, когда я сравниваю только даты. Если я пытаюсь сравнить полные DateTimes, то ничего не появляется, потому что он пытается сравнить минуты.
Любая помощь будет принята с благодарностью.