Получить дату UTC из SQL Server и показать в сетке как местное время - PullRequest
1 голос
/ 26 февраля 2009

У меня есть таблица в SQL Server 2005, в которой есть столбец datetime, содержащий даты в формате UTC. Я хочу, чтобы клиенты вызывали приложение сервера .NET, и сервер вернет DataTable с записями, которые будут привязаны на стороне клиента к DataGridView. ** На клиенте даты должны отображаться по местному времени **, клиенты будут в майских регионах мира. У кого-нибудь есть советы по достижению этого? Конечно, я мог бы добавить несколько строк для циклического просмотра и обновить даты в таблице перед отображением, но я не могу избавиться от ощущения, что для этого нужен какой-то хитрый и забавный способ.

TA !!

Ответы [ 2 ]

1 голос
/ 26 февраля 2009

DateTime.ToLocalTime Это то, что вы ищете.

Фактически тот факт, что вы вызываете метод, указывает объекту DateTime добавить смещение текущей культуры от UTC и вернуть результат. DateTime.ToUniversalTime делает обратное.

0 голосов
/ 09 апреля 2009

Прежде всего, убедитесь, что значения DATETIME в ваших таблицах хранятся как значения UTC.

После этого, когда вы читаете их, «клиентское» приложение может преобразовать их в локальную дату / время (что бы это ни было).

При вставке / обновлении содержимого убедитесь, что вы конвертировали из локального в utc перед сохранением в БД.

...