以下输出为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);
如何使用上述变量中的格式来实现它?
答案 0 :(得分:3)
我相信你有一个字符串变量格式,可能这就是你要找的东西:
DateTime dd = new DateTime(2012, 12, 12);
string strFormat = "yyyyMMdd";
string val = String.Format("{0:"+ strFormat + "}", dd);
答案 1 :(得分:2)
最简单的方法就是
DateTime dd = new DateTime(2012, 12, 12);
string strFormat = "yyyyMMdd";
string val = dd.ToString(strFormat);
String.Format
不直接支持变量格式字符串。
答案 2 :(得分:2)
只需使用DateTime.ToString
:
string val = dd.ToString( dateFormat );
您将String.Format
与您的格式字符串混淆,后者仅以此方式{0:yyyyMMdd}
起作用。
答案 3 :(得分:0)
您可以使用DateTime.ToString(string)方法:
DateTime dd = new DateTime(2012, 12, 12);
string dateFormat = "yyyyMMdd";
string val = dd.ToString(dateFormat);
答案 4 :(得分:0)
尝试这样的String.Format
;
DateTime dt = new DateTime(2012, 12, 12);
string Format = "yyyyMMdd";
string yourstring = String.Format("{0:" + Format + "}", dt);
Console.WriteLine(yourstring);
答案 5 :(得分:0)
您也可以使用.ToString(字符串格式)
DateTime dd = new DateTime(2012, 12, 12);
string strFormat = "yyyyMMdd";
string val = dd.ToString(strFormat);