2

先頭のゼロや余分なスペースのパディング (レイアウトが崩れる) なしで、WPF テキスト ブロックに日番号だけを生成しようとしています。1 つ目はスペースを含む日付番号を生成し、2 つ目は日付全体を生成します。docsによると、「d」は日 (1-31) を生成する必要があります。

string.Format("{0:d }", DateTime.Today);
string.Format("{0:d}", DateTime.Today);

更新:% を追加することは確かにトリックです。適切なドキュメントはこちら

4

3 に答える 3

5

こちらをご覧ください

日、%d

日。1 桁の日に先行ゼロはありません。フォーマット パターンが他のフォーマット パターンと組み合わされていない場合、アプリケーションは "%d" を指定します。

それ以外の場合、d は次のように解釈されます。

d - 'ShortDatePattern'

PS。フォーマット文字列をいじるには、 LinqPadを使用すると非常に役立ちます。

于 2008-10-03T01:51:24.303 に答える
1

「カスタムの日付と時刻の書式文字列」に関する MSDN ドキュメントから:

標準の日付と時刻の書式文字列ではない文字列は、カスタムの日付と時刻の書式文字列として解釈されます。

{0:d} は、標準の日時フォーマット文字列として解釈されます。「標準の日付と時刻のフォーマット文字列」から、「d」フォーマット指定子:

現在の ShortDatePattern プロパティによって定義されたカスタムの日付と時刻の形式文字列を表します。

スペースがある {0:d } は、標準の日付と時刻の形式文字列と一致せず、カスタムの日付と時刻の形式文字列として解釈されます。「カスタムの日付と時刻の書式指定文字列」から、「d」書式指定子:

日を 1 ~ 31 の数値で表します。

于 2008-10-03T01:53:13.660 に答える
0

この形式は、 MSDN の標準の日付と時刻の形式文字列ドキュメントで{0:d}定義されているパターンを使用します。「d」は短い日付パターン、「D」は長い日付パターンなどに変換されます。

必要な形式は、一致する指定された形式 (スペースを含む 'd ' など) がない場合、または ToString() を使用する場合に機能するカスタム日付および時刻形式修飾子のようです。

代わりに次のコードを使用できます。

string.Format("{0}", DateTime.Today.ToString("d ", CultureInfo.InvariantCulture));
于 2008-10-03T01:58:02.960 に答える