Converting Local Time To UTC

I think what you are missing is that the DateTime returned by your DateTime.Parse() statement doesn't come with a time zone. It's just a date and time that can be in any time zone. When you call TimeZoneInfo.ConvertTimeToUtc(dt, TimeZoneInfo.Local), you are telling it which time zone it starts in. So if you start in Central, you will get one answer, whereas if you start in Eastern, you will get an answer that is an hour earlier, UTC. Indeed, this is what your code shows.


There is a .ToUniversalTime() method for DateTime class


This is midnight

var dt = DateTime.Parse("1/1/2013");

Midnight in eastern and central is not the same absolute time.
That is the whole purpose of time zones.

Tags:

C#

.Net

Datetime