VisualStudio:将构建版本转换为日历日期

时间:2010-10-20 22:55:08

标签: visual-studio assemblies versioning

我知道Visual Studio生成的版本字符串基于运行构建的日期/时间。鉴于Visual Studio生成的部分版本字符串“3856.24352”,如何将其转换为发生该版本的日历日?

2 个答案:

答案 0 :(得分:12)

完整版字符串的格式为 major.minor.build.revision 构建部分是自1 st 2000年1月以来的天数。修订版部分是自午夜以来的秒数除以2(有关详细信息,请参阅here

假设您的版本字符串是自动递增类型,并且您已经使用了 build.revision 部分,则可以使用以下命令将其重新设置为日期:

string buildRevision = "3856.24352";

string[] parts = buildRevision.Split('.');
int build = int.Parse(parts[0]);
int revision = int.Parse(parts[1]);

DateTime dateTimeOfBuild = new DateTime(2000, 1, 1) 
                                + new TimeSpan(build, 0, 0, 0) 
                                + TimeSpan.FromSeconds(revision * 2);

这将为您提供一个DateTime来表示构建何时生成(例如,对于您的示例是23 rd 2010年7月13:31:44)。

答案 1 :(得分:1)

这是一个用于将 .Net 版本转换为日期的简单 javascript 工具:

function convertBuildNumberToDate()
{
  var buildString = document.getElementById("input").value.split(".");
  var buildNumber = Number(buildString[2]);
  var revision = Number(buildString[3]);

  var date = new Date(2000, 1, 1);
  date.setDate(buildNumber);
  date.setSeconds(revision * 2);

  var output = date.toLocaleString();
  document.getElementById("output").innerHTML = output;
}
Build Number:
<br />
<input id="input" value="1.0.7769.27451" />
<button onclick="convertBuildNumberToDate()">Convert</button>

<br />
<br />

Build Date:
<br />
<div id="output"></div>