Compile date and time
If you set the assembly version (usually in AssemblyInfo.cs) to Major.Minor.*
(e.g. 1.0.*
), then you can probably retrieve the build date at runtime with something like this:
var version = Assembly.GetExecutingAssembly().GetName().Version;
DateTime buildDate = new DateTime(2000, 1, 1)
.AddDays(version.Build)
.AddSeconds(version.Revision*2);
When using a *
for the third and fourth part of the assembly version, then these two parts are set automatically at compile time to the following values:
- third part is the number of days since 2000-01-01
- fourth part is the number of seconds since midnight divided by two (although some MSDN pages say it is a random number)
Oh, and you have to take care of daylight saving time yourself (e.g. add one hour if it's daylight saving time).
You can get it by this way:
File.GetLastWriteTime(Assembly.GetExecutingAssembly().Location);
Returns DateTime
object.