C # UTC DateTime запрос в WCF / .NET

Это очень простой, (надеюсь) вопрос. Я новичок в работе с преобразованием DateTime в .NET.

У меня есть служба WCF, у которой есть свойство DateTime - назовите его BookingDate.

Кто-то передает это моей службе WCF в формате:

<a:BookingDate>2012-03-26T17:03:00-04:00</a:BookingDate>

Сервер, на котором он сидит, настроен на часовой пояс UTC (Лиссабон, Лондон, Дублин).

Когда я сохраняю соответствующее значение в базе данных, оно устанавливает значение следующим образом:

2012-03-26 22:03

Я предположил, я неправильно думаю, что .NET Framework (как часть процесса сериализации / десериализации WCF) поместит это в .Net Datetime UTC для меня (так как смещение минус 4 часа, как указано выше)

Я ожидал:2012-03-26 21:03

Мой вопрос таков: мне нужно позвонить:

var date = fromClientWCFService.BookingDate.ToUniversalTime();

чтобы получить 21:03 время, которое я ожидаю?

Если нет, есть ли настройка WCF, чтобы сообщить моей службе преобразовывать DateTimes в UTC, а не часовой пояс сервера?

заранее спасибо

отметка

РЕДАКТИРОВАТЬ:

Из 1 ответа я вижу, что DateTimeOffset можно использовать. Исходя из этого, будет работать следующее:var offset = DateTimeOffset.Parse("2012-03-26T17:03:00-0400"); вернуть результат:2012-03-26 21:03

Ответы на вопрос(2)

Ваш ответ на вопрос