String.Format 复合字符串格式的变量
String.Format variable in composite string format
我想在 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}
也不
String.Format("{0:{{1}}}", mydate, myFormat}
也不
String.Format("{0:\{1\}}", mydate, myFormat}
谢谢大家
您的格式字符串应如下所示:
string str = "{{0:{0}}}";
那么你可以这样格式化:
string format = string.Format(str, "yyyy");
format = string.Format(format, DateTime.Now); // this will give 2015
如果您想格式化日期字符串,肯定有比您的方法更简单的方法:
string myformat = "yyyy";
string secondFormat = "dd.MM.yyyy";
DateTime.Now.ToString(myformat) //2015
DateTime.Now.ToString(secondFormat) //24.04.2015
我想在 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}
也不
String.Format("{0:{{1}}}", mydate, myFormat}
也不
String.Format("{0:\{1\}}", mydate, myFormat}
谢谢大家
您的格式字符串应如下所示:
string str = "{{0:{0}}}";
那么你可以这样格式化:
string format = string.Format(str, "yyyy");
format = string.Format(format, DateTime.Now); // this will give 2015
如果您想格式化日期字符串,肯定有比您的方法更简单的方法:
string myformat = "yyyy";
string secondFormat = "dd.MM.yyyy";
DateTime.Now.ToString(myformat) //2015
DateTime.Now.ToString(secondFormat) //24.04.2015