2009-06-12 6 views
19

次のコードでは、の結果はとなります。これは、MSDNに「d」が記載されているためです。「1から31. 1桁の日付は、先行ゼロなしでフォーマットされています。 " (また、「D」である)短い日付形式は、 -.NET DateTime "Day"先頭に0を付けない

DateTime myDate = new DateTime(2009, 6, 4); 
string result = myDate.ToString("d"); 

しかしながら、結果「は2009年6月4日」に実際に等しいです。私は 'dd'を使うことができますが、それは先行ゼロを追加します。私はそれが欲しくないのです。

答えて

38

これが(標準書式指定子とは対照的に)カスタム書式指定子であることを示すには、2文字でなければなりません。これは、このように、(出力に表示されます)のスペースを追加することにより、または単一文字の前にパーセント記号を含むことによって達成することができます。

string result = myDate.ToString("%d"); 

MSDN

5

のではなく、文字列の書式文字列を使用して、どのように日のプロパティを使用する方法について

DateTime myDate = new DateTime(2009,6,4) 
int result = myDate.Day; 

それとも、本当に文字列形式で結果を必要に応じて

string result = myDate.Day.ToString(); 

日付の書式ではなく日付オブジェクトから特定の日付部分を取得する場合は、プロパティ(曜日、月、年、DayOfWeekなど)を使用することをお勧めします。 (特に、誰かがそれを読み書きしているときに、さまざまな書式設定コードが記憶されていない場合)

+0

ありがとうございます。残念なことに私の場合、今日は、書式設定文字列をレポートレイアウトの一部としてプロパティシートに配置する必要があったため、%d値を使用する必要がありました。 –

関連する問題