public static void Main()
string dateXml = "2019-11-18T00:00:00.000+01:00";
DateTimeOffset dtoParsed = DateTimeOffset.Parse(dateXml);
TimeZoneInfo gmtZone = TimeZoneInfo.FindSystemTimeZoneById("GMT Standard Time");
var ukDate = TimeZoneInfo.ConvertTime(dtoParsed.LocalDateTime, TimeZoneInfo.Local, gmtZone);
Console.WriteLine("Originally parsed DateTimeOffset as is");
Console.WriteLine(dtoParsed);
Console.WriteLine("Local time is");
Console.WriteLine(dtoParsed.LocalDateTime);
Console.WriteLine("UTC Time is");
Console.WriteLine(dtoParsed.UtcDateTime);
Console.WriteLine("Value Captured with UTC Offset:");
Console.WriteLine(dtoParsed.Offset);
Console.WriteLine("UK Time is");
Console.WriteLine(ukDate);
Console.WriteLine("Both represent same point in time so the difference should be 0");
Console.WriteLine(dtoParsed.Subtract(dtoParsed.LocalDateTime));