Как обрабатывать поле DayOfWeek в базе данных, когда пользователи из разных часовых поясов запрашивают данные?C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Как обрабатывать поле DayOfWeek в базе данных, когда пользователи из разных часовых поясов запрашивают данные?

Сообщение Anonymous »

В моей базе данных есть таблица, одно из полей которой представляет день недели (DayOfWeek). Это поле используется для хранения информации о повторяющихся сеансах, происходящих в определенные дни (например, понедельник, вторник).
Сеанс Таблица включает поля startTime и endTime, оба типа Time, которые представляют конкретное время сеансов в соответствующий DayOfWeek в группе.
Проблема, с которой я столкнулся, заключается в том, как правильно вернуть данные для пользователей из разных часовых поясов. Поскольку DayOfWeek хранится на основе дата UTC, пользователи из других часовых поясов могут увидеть неправильный день, если их местное время переходит на следующий или предыдущий день.
Я понимаю, что если я использую DayOfWeek, ActiveDate не будет использоваться, и наоборот. Я ищу лучший подход для динамической обработки этой проблемы и обеспечения того, чтобы пользователи из разных часовых поясов видели правильный день и время.
Мои таблицы:

Код: Выделить всё

public class Group : BaseEntity
{
public DayOfWeek? DayOfWeek { get; set; }
public DateTime? ActiveDate { get; set; }
public bool ForActiveDate { get; set; }

public ICollection GroupSessions { get; set; }
}

public class Session : BaseEntity
{
public TimeSpan StartTime { get; set; } // 03:30 - ...
public TimeSpan EndTime { get; set; } // ... - 05:00
public string Title { get; set; } = string.Empty;

public ICollection GroupSessions { get; set; }
}
Будем очень признательны за любые советы или примеры того, как этого добиться!
(aspnetcore) - (c#) - (api)

Подробнее здесь: https://stackoverflow.com/questions/790 ... time-zones
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»