Похоже, что вы хотите:
var utcDateTime = new DateTime(2012, 02, 29, 12, 43, 0, DateTimeKind.Utc);
var dto = new DateTimeOffset(utcDateTime).ToOffset(TimeSpan.FromHours(2));
Обратите внимание, что я изменил год с 2011 года (который не является високосным и не имеет 29 дней в феврале) на 2012 год.
Тест:
Console.WriteLine("Utc = {0}, Original = {1}", dto.UtcDateTime, dto.DateTime);
Выход:
Utc = 2/29/2012 12:43:00 PM, Original = 2/29/2012 2:43:00 PM
Обратите внимание, что вы, вероятно, не хотите использовать свойство LocalDateTime
, которое может представлять момент времени в часовом поясе локальной системы.