title: windows microseconds calculation accuracy
body: <p>I'm trying to convert DateTime to Julian date and reverse it under Windows 7.</p>
  
  <pre><code>    public static double ToJulianDate(this DateTime dt) {
          return dt.ToOADate() + 2415018.5;
      }
      public static DateTime Julian2DT(this double julian) {
          return DateTime.FromOADate(julian - 2415018.5);
      }
  </code></pre>
  
  <p>When I test these two functions like below</p>
  
  <pre><code>var dt = DateTime.Now;
  dt.ToString("yyyy-MM-dd HH:mm:ss.ffffff").Dump();
  dt.ToJulianDate().Julian2DT().ToString("yyyy-MM-dd HH:mm:ss.ffffff").Dump();
  </code></pre>
  
  <p>the reversed Julian date has always a slightly different value from the original DateTime value by hundreds microseconds.</p>
  
  <p>Did I write a wrong code or there's some microseconds inaccuracy in windows time system?</p>