I recently did something like below; it was done quickly, but it works. In my case, I always wanted time from the eastern time zone, since that was where my application was. Saved as UTC and calculated offset.
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); } }
source share