C#獲得項目最後編譯時間 效果 具體格式可以自定義 核心代碼 string GetCompileVersion() { string OriginVersion = "" + System.IO.File.GetLastWriteTime(this.GetType().Assembly.Locati ...
C#獲得項目最後編譯時間
效果
具體格式可以自定義
核心代碼
string GetCompileVersion()
{
string OriginVersion = "" + System.IO.File.GetLastWriteTime(this.GetType().Assembly.Location);
int MsgCnt = 0;
string year = "";
string month = "";
string day = "";
string hour = "";
string min = "";
string sec = "";
for (int i = 0; i < OriginVersion.Length && MsgCnt < 6; i++)
{
char ch = OriginVersion[i];
if (ch >= '0' && ch <= '9')
{
switch (MsgCnt)
{
case 0: year += ch; break;
case 1: month += ch; break;
case 2: day += ch; break;
case 3: hour += ch; break;
case 4: min += ch; break;
case 5: sec += ch; break;
}
}
else
{
MsgCnt++;
}
}
while (year.Length < 4) year = "0" + year;
while (month.Length < 2) month = "0" + month;
while (day.Length < 2) day = "0" + day;
while (hour.Length < 2) hour = "0" + hour;
while (min.Length < 2) min = "0" + min;
while (sec.Length < 2) sec = "0" + sec;
return year + month + day + hour + min + sec;
}
使用
public MainWindow()
{
InitializeComponent();
CompileTime.Text = GetCompileVersion();
}
原理
- 使用
System.IO.File.GetLastWriteTime
方法獲取程式集文件(即.dll
或.exe
文件)的最後修改時間——可以間接反映程式集的最後編譯時間。 - 定義六個字元串變數
year
、month
、day
、hour
、min
和sec
,用於存儲相應的日期和時間組件。 - 通過一個
for
迴圈遍歷OriginVersion
字元串中的每個字元。如果字元是數字(介於 '0' 和 '9' 之間),則根據當前的MsgCnt
值將數字字元追加到相應的變數中。 - 若長度不足其應有的長度(年4位,其他都是2位),則在它們的前面添加 '0'。
- 最後,將所有這些組件串聯起來,形成一個格式為
yyyyMMddHHmmss
的字元串。
參考
DateTime 結構 (System) | Microsoft Learn