Проверьте эту ссылку с CodeProject.com - она делает именно то, что вы хотите: взять дату и часовой пояс, передать их в UDF и получить дату в UTC или любом другом часовом поясе .
ВАЖНО: Проверьте комментарии к этой статье - автору не разрешено редактировать статью после определенного момента, и в комментариях есть обновленная версия кода, используемого для пользовательских функций, которая устраняет некоторые проблемы, не найденные в оригинальный код статьи.
ТАКЖЕ ВАЖНО: не используйте это для запроса больших наборов данных. Это идеально подходит для одноразовой загрузки в базу данных или для возврата даты UTC для одной строки (например, таблицы входа пользователя или чего-то еще.)
Если вам нужна производительность, единственный действительно приемлемый метод для преобразования часового пояса - это иметь справочную таблицу, которая обрабатывает каждое возможное преобразование часового пояса для каждого часа в году, с оператором case для обработки переходов между годами (например, декабрь). 31 - 1 января или наоборот.) Да, таблица огромна, но производительность запросов равна нулю.