title: Safely convert UTC datetimes to local time (based on TZ) for calculations?
body: <p>Following from my <a href="https://stackoverflow.com/questions/2580478/storing-date-times-as-utc-in-database">last question</a> which <a href="https://stackoverflow.com/questions/2580478/storing-date-times-as-utc-in-database#2580518">@Jon Skeet</a> gave me a lot of help with (thanks again!)</p>
  
  <p>I am now wondering how I can <strong>safely</strong> work with date/times, stored as UTC, when they are converted back to Local Date/Time. </p>
  
  <p>As Jon indicated in my last question using <code>DateTimeOffset</code> represents an <em>instant</em> in time and there is no way to predict what the local time would be say a minute later. I need to be able to do calculations based on these date/times.</p>
  
  <p>So how can I assure when I pull the dates from the database, convert them to local date/time and do specific calculations on them they are going to be accurate?</p>
  
  <p><b>Scenario</b></p>
  
  <p>My application records information sent in via email. The date/time the email is received is recorded as the submission time. Emails are pulled from exchange.</p>
  
  <p>What I need to know is:</p>
  
  <p>1) If these emails are coming from different countries, do I just convert the <code>Recieved</code> date/time of the email to UTC format and store that? e.g. <code>Email.Received.ToUniversalTime()</code><br/></p>