Если вы храните дату и время в базе данных в формате UTC, вам все равно.Так что, если я что-то пропустил (всегда возможно :)), не могли бы вы просто запросить значение DateTime.UtcNow и не выполнить преобразование часового пояса в этой части?
например, часовой пояс пользователя, сейчас 13:00.Часовой пояс сервера, это 10:00.Время UTC - 09:00.
Когда вы сохраняете время в базе данных, вы конвертируете введенные дату / время из часового пояса пользователя в UTC (либо в JavaScript, либо на стороне сервера), поэтому пользователь вводитвремя 13:00 сохраняется в UTC как 09:00.
Когда пользователь попадает на страницу, вы хотите найти все сообщения, которые должны отображаться «сейчас».«Сейчас» для пользователя 13:00, а в UTC - 09:00.Поэтому поиск, основанный на времени UTC, должен быть всем, что нужно.