Я использую клиентское приложение, которое подключается к удаленной базе данных в США. есть некоторые двусмысленности даты и времени, которые возникают в результате, например, если дата в базе данных 14 января, она возвращается как 13 января.
Что я хотел бы знать, если я установлю CurrentCultureInfo моего клиента равным моим серверам, это решит проблему.
Если это можно сделать ... Мне нужен небольшой пример того же самого.





Проблема в том, что в самих США несколько часовых поясов, так что это не могло быть решением. Одно из решений, которое я могу придумать, - это установить часовой пояс клиентского компьютера на часовой пояс сервера, но что-то в этом не звучит правильно.
Ваша культура используется для форматирования. Кажется, у вас проблема с одним из разных часовых поясов.
Мое простое решение - всегда хранить дату и время в формате UTC. Вы можете использовать DateTime.UtcNow для этого с клиента, и вы можете преобразовать его обратно в местное время позже, если это необходимо.
Да, дружище, я это знаю. Но я новый человек в этой компании, и они уже написали этот фрагмент еще в 2005 году, и я просто не могу пойти и изменить инструкции вставки.
Если вы не можете изменить дату сохранения на время в формате UTC и конвертировать туда и обратно при вставке и выборе данных. Затем, если ваши данные не вставляются на сервер, вам нужно будет записать что-то, что сообщает вам, откуда пришли данные (я имею в виду, какой местный часовой пояс у клиента, который вставил данные).
Если ваши данные только вставляются на сервер, вы, вероятно, можете использовать SQL-функции GetUTCDate и сравнить их с GetDate, а затем вычесть результат из даты и времени, хранящейся в базе данных. Затем на клиенте используйте DateTime.ToLocalTime (), чтобы преобразовать возвращаемое значение в местное время. Как я уже сказал, это будет работать только в том случае, если данные вводятся исключительно на сервере или, по крайней мере, клиентами в том же часовом поясе. В противном случае забудьте об этом.
Дело в том, что я хочу дату, поскольку "это" не требуется никаких изменений, почему эта проблема вообще существует. Получение даты и ее отображение звучит так просто, но создает для меня ад на данный момент
Ну, я уже думал, что это решение неприемлемо