<p>I am having trouble understanding how the System Registry can help me convert a DateTime object into the a corresponding TimeZone.  I have an example that I've been trying to reverse engineer but I just can't follow the one critical step in which the UTCtime is offset depending on Daylight Savings Time.</p>

<p>I am using .NET 3.5 (thank god) but It's still baffling me.</p>

<p>Thanks</p>

<p>EDIT: Additional Information: This question was for use in a WPF application environment. The code snippet I left below took the answer example a step further to get exactly what I was looking for. </p>

You can use DateTimeOffset to get the UTC offset so you shouldn't need to dig into the registry for that information.
TimeZone.CurrentTimeZone returns additional time zone data, and TimeZoneInfo.Local has meta data about the time zone (such as whether it supports daylight savings, the names for its various states, etc).
Update: I think this specifically answers your question:
```
```
var tzi = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
var dto = new DateTimeOffset(2008, 10, 22, 13, 6, 0, tzi.BaseUtcOffset);
Console.WriteLine(dto);
Console.ReadLine();
```
```
That code creates a DateTime at -8 offset.  The default installed time zones are
listed on MSDN
.