Что произойдет, если я установлю CurrentCultureInfo на en-us

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

Что я хотел бы знать, если я установлю CurrentCultureInfo моего клиента равным моим серверам, это решит проблему.

Если это можно сделать ... Мне нужен небольшой пример того же самого.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
0
273
3

Ответы 3

Проблема в том, что в самих США несколько часовых поясов, так что это не могло быть решением. Одно из решений, которое я могу придумать, - это установить часовой пояс клиентского компьютера на часовой пояс сервера, но что-то в этом не звучит правильно.

Ну, я уже думал, что это решение неприемлемо

Sandhurst 09.01.2009 13:17

Ваша культура используется для форматирования. Кажется, у вас проблема с одним из разных часовых поясов.

Мое простое решение - всегда хранить дату и время в формате UTC. Вы можете использовать DateTime.UtcNow для этого с клиента, и вы можете преобразовать его обратно в местное время позже, если это необходимо.

Да, дружище, я это знаю. Но я новый человек в этой компании, и они уже написали этот фрагмент еще в 2005 году, и я просто не могу пойти и изменить инструкции вставки.

Sandhurst 09.01.2009 13:45

Если вы не можете изменить дату сохранения на время в формате UTC и конвертировать туда и обратно при вставке и выборе данных. Затем, если ваши данные не вставляются на сервер, вам нужно будет записать что-то, что сообщает вам, откуда пришли данные (я имею в виду, какой местный часовой пояс у клиента, который вставил данные).

Если ваши данные только вставляются на сервер, вы, вероятно, можете использовать SQL-функции GetUTCDate и сравнить их с GetDate, а затем вычесть результат из даты и времени, хранящейся в базе данных. Затем на клиенте используйте DateTime.ToLocalTime (), чтобы преобразовать возвращаемое значение в местное время. Как я уже сказал, это будет работать только в том случае, если данные вводятся исключительно на сервере или, по крайней мере, клиентами в том же часовом поясе. В противном случае забудьте об этом.

Дело в том, что я хочу дату, поскольку "это" не требуется никаких изменений, почему эта проблема вообще существует. Получение даты и ее отображение звучит так просто, но создает для меня ад на данный момент

Sandhurst 09.01.2009 16:02

Другие вопросы по теме