About ボックスにいくつかのビルド情報を表示する次のコードがあります。
private void frmAbout_Load(object sender, EventArgs e)
{
Version versionInfo =
Assembly.GetExecutingAssembly().GetName().Version;
lblVersion.Text = String.Format("Version {0}.{1}",
versionInfo.Major.ToString(), versionInfo.Minor.ToString());
String versionStr = String.Format("{0}.{1}.{2}.{3}",
versionInfo.Major.ToString(), versionInfo.Minor.ToString(),
versionInfo.Build.ToString(), versionInfo.Revision.ToString());
lblBuild.Text = String.Format("Build {0}", versionStr);
DateTime startDate = new DateTime(2000, 1, 1); // The date from
whence the Build number is incremented (each day, not each
build; see http://stackoverflow.com/questions/27557023/how-can-
i-get-the-build-number-of-a-visual-studio-project-to-increment)
int diffDays = versionInfo.Build;
DateTime computedDate = startDate.AddDays(diffDays);
lblLastBuilt.Text += computedDate.ToLongDateString();
}
今日は次のように表示されます。
「問題」は、画面の領域が限られていることと、「2015 年 2 月 4 日」などの日付が私にはマニアックに見えることです (私は「2015 年 2 月 4 日」が好きです)。
次のように、 ToLongDateString() から返された文字列を無作法にブルートフォースすることができます。
String lds = computedDate.ToLongDateString();
lds = // find leading 0 in date and strip it out or replace it with an empty string
lblLastBuilt += lds;
(設計時に lblLastBuilt が「最終ビルド」に設定されているため、「+=」を使用しています。
だから:日付文字列の「月の日」部分に先頭の0が表示されないようにするための、力ずくではない方法はありますか?