5

以下は、20121212 として出力されます。

DateTime dd = new DateTime(2012, 12, 12);
string val = String.Format("{0:yyyyMMdd}", dd);

また、フォーマットが変数の場合。以下は上記の出力を与えません。

DateTime dd = new DateTime(2012, 12, 12);
string dateFormat = "yyyyMMdd";
string val = String.Format("{0}:{1}", dd, dateFormat);

上記のように変数のフォーマットを使用してそれを達成するにはどうすればよいですか?

4

6 に答える 6

3

文字列変数にフォーマットがあると思います。これがあなたが探しているものかもしれません:

DateTime dd = new DateTime(2012, 12, 12);
string strFormat = "yyyyMMdd";
string val = String.Format("{0:"+ strFormat + "}", dd);
于 2013-01-08T10:21:49.057 に答える
2

最も簡単な方法は

DateTime dd = new DateTime(2012, 12, 12);
string strFormat = "yyyyMMdd";
string val = dd.ToString(strFormat);

String.Format可変フォーマット文字列を直接サポートしていません。

于 2013-01-08T10:23:16.513 に答える
2

使用するだけDateTime.ToStringです:

string val = dd.ToString( dateFormat );

String.Formatこの方法でのみ機能するフォーマット文字列と混同しています{0:yyyyMMdd}

于 2013-01-08T10:24:33.457 に答える
0

DateTime.ToString(string)メソッドを使用できます。

DateTime dd = new DateTime(2012, 12, 12);
string dateFormat = "yyyyMMdd";
string val = dd.ToString(dateFormat);
于 2013-01-08T10:23:31.143 に答える
0

このようにしてみてくださいString.Format

DateTime dt = new DateTime(2012, 12, 12);
string Format = "yyyyMMdd";
string yourstring = String.Format("{0:" + Format + "}", dt);
Console.WriteLine(yourstring);

Demo

于 2013-01-08T10:23:41.207 に答える
0

.ToString(string format) も使用できます

DateTime dd = new DateTime(2012, 12, 12);
string strFormat = "yyyyMMdd";
string val = dd.ToString(strFormat);
于 2013-01-08T10:24:49.317 に答える