Мне нужно отображать время даты в соответствии с выбранным пользователем часовым поясом. Таким образом, я поддерживаю все даты в базе данных в GMT.Обработка часовых поясов в SQL Server
Когда я извлекаю его из SQL - я использую следующий подход (например: UK), который я не уверен, будет ли он работать для часовых поясов, у которых есть дневная подсветка.
SELECT CONVERT(datetime,SWITCHOFFSET(CONVERT(datetimeoffset,GetUTCDate()),'-00:00'))
Во время дневного света экономии, он должен быть
SELECT CONVERT(datetime,SWITCHOFFSET(CONVERT(datetimeoffset,GetUTCDate()),'-01:00'))
Как включить смещение в соответствии с дневным светом экономии? Я спасаю выбранный пользователь Время отображаемое имя зоны ID в базе данных, которую я даю второй параметр SWITCHOFFSET
Благодарности
В программном обеспечении, которое используется во многих часовых поясах, я всегда позволял отображать на нем слой приложения. У пользователя есть часовой пояс, выбранный в их операционной системе, и .NET и т. Д. Имеют способы быстрее конвертировать время, чем пытаться понять все это в SQL. –