-2

日時を次の文字列に解析する必要があります。

Nov 30 2012
Dec  1 2012

日付形式に注意してください。2 番目の例では、文字が 1 つだけあり、先頭にスペースが埋め込まれています。

今、私はこれをやっています:

    string month = DateTime.Now.ToString("MMM");
    string day = DateTime.Now.Day.ToString().PadLeft(2, ' ');
    string year = DateTime.Now.Year.ToString();

    string myFormat = month + " " + day + " " + year;

よりエレガントなソリューションが必要です。

4

4 に答える 4

1

String.Format を使用

DateTime dt = new DateTime(2012, 12, 1);
MessageBox.Show(String.Format("{0:MMM d yyyy}", dt));

編集:例

数字を揃えたい場合は、次のようなものです

//call
MessageBox.Show(GetNewDateString(new DateTime(2012, 11, 30)) + "\n" + GetNewDateString(new DateTime(2012, 12, 1)));

public String GetNewDateString(DateTime dt)
{
   return dt.Day > 9 ? String.Format("{0:MMM d yyyy}", dt) : String.Format("{0:MMM   d yyyy}", dt);
}
于 2012-12-26T08:06:24.363 に答える