Joh*_*tos 0 c# string string.format
我想知道这是否可能,如果是的话,如何实现它.
我知道该String.Format函数允许您为参数指定格式,如下所示:
String.Format("The Date is {0:yyyy-MM-dd}", DateTime.Now);
Run Code Online (Sandbox Code Playgroud)
但我想知道以所需格式提供的最佳方式(例如"yyyy-MM-dd")最终会得到一个如下工作的功能(不起作用,但显示我想要完成的工作) ):
static string CreateFileName(string filename, string DateTimeFormat = "yyyy-MM-dd")
{
return String.Format("{0} - {1:{2}}", filename, DateTime.Now, DateTimeFormat);
}
Run Code Online (Sandbox Code Playgroud)
我想我可以放一个假的占位符并做String.Replace第一个:
string formatString = "{0} - {1:{FMT}}";
formatString = formatString.Replace("{FMT}", DateTimeFormat);
Run Code Online (Sandbox Code Playgroud)
但我很想知道是否有更好的方法来完成我想要做的事情.
谢谢!!
你可以使用:
var format = "yyyy-MM-dd";
var dateTimeString = string.Format("{0}", DateTime.Now.ToString(format));
Run Code Online (Sandbox Code Playgroud)
所以你的功能将成为:
static string CreateFileName(string filename, string DateTimeFormat = "yyyy-MM-dd")
{
return String.Format("{0} - {1}", filename, DateTime.Now.ToString(DateTimeFormat));
}
Run Code Online (Sandbox Code Playgroud)