复合字符串格式中的String.Format变量

3

我希望在String.Format中将一个变量放入复合格式中。这意味着:

String str = String.Format("{0:[what should I put here]}", mydate, myFormat};

所以结果将取决于我的格式化(myFormat)。

myFormat = "yyyy" => str = "2015"
myFormat = "hh:mm:ss" => str = "08:20:20"

我没有成功

String.Format("{0:{1}}", mydate, myFormat}

nor

String.Format("{0:{{1}}}", mydate, myFormat}

nor

String.Format("{0:\{1\}}", mydate, myFormat}

感谢大家。
2个回答

5
您的格式字符串应该像这样:

您的格式字符串应该如下所示:

string str = "{{0:{0}}}";

然后您可以按照以下方式格式化:
string format = string.Format(str, "yyyy");
format = string.Format(format, DateTime.Now); // this will give 2015

3
如果您想格式化日期字符串,有一个比您的方法更简单的方法:
string myformat = "yyyy";
string secondFormat = "dd.MM.yyyy";
DateTime.Now.ToString(myformat) //2015
DateTime.Now.ToString(secondFormat) //24.04.2015

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接