Я недавно сделал что-то вроде ниже;это было сделано быстро, но это работает.В моем случае я всегда хотел, чтобы время было в восточном часовом поясе, поскольку именно там проходило мероприятие, в котором было мое приложение.Сохраняется как UTC и вычисленное смещение.
private DateTime _startTimeUtc;
private DateTime _startTime;
public DateTime StartTime
{
get { return _startTime; }
set
{
_startTimeUtc = value.ToUniversalTime();
_startTime = _startTimeUtc.Subtract(EasternTimeUtcOffSet);
}
}
public DateTime StartTimeUtc
{
get { return _startTimeUtc; }
set
{
_startTimeUtc = value;
_startTime = _startTimeUtc.Subtract(EasternTimeUtcOffSet);
}
}
private static TimeSpan EasternTimeUtcOffSet
{
get { return TimeSpan.FromHours(4); }
}