title: Are the new Delphi XE2 autogenerated build numbers linked to 1.1.2000 00:00:00?
body: <p>In Delphi XE2 the automatically generated build numbers functionality now uses some kind of date and time generated values, like this:</p>
  
  <p>2.4.4386.838</p>
  
  <p>The last two numbers change each time you build and are based on the current date and time:</p>
  
  <pre><code>Major = 2 (user defined)
  Minor = 4 (user defined)
  Release = 4386 (number of days since Jan 1 2000)
  Build = 838 (number of seconds since 00:00:00)
  </code></pre>
  
  <p>I guess this new format for Release and Build numbers was borrowed from the .NET implementation which does something very similar.   In .net, the last number (Build) is equal to the number of seconds since midnight local time, divided by 2. See this link for details on .net implementation: <a href="http://www.codinghorror.com/blog/2005/04/determining-build-date-the-hard-way.html" rel="nofollow">Determining Build Date the hard way</a></p>
  
  <p>If this can be relied upon to stay this way,  then now we have a better way to determine the compilation time instead of</p>
  
  <ol>
  <li><p>Using IDE plugins</p></li>
  <li><p>Using PE Headers hacks</p></li>
  </ol>
  
  <p>The questions is not how to return to the old autoincrement version numbers functionality.</p>
  
  <p>The questions <strong>is</strong> does XE2 really use the date and time as I showed above, starting from Jan 1, 2010 and adding days and seconds in Build and Release numbers?</p>