TimeSpan的字符串格式非常灵活



我想为TimeSpan对象实现最灵活的字符串格式。假设你有这样的代码:

string format = ".................";
TimeSpan ts = TimeSpan.FromSeconds(7200);
Debug.WriteLine(ts.ToString(format));

我想指定一个包含字符串格式的参数(在控制台应用程序的app.config中?(,以便在不接触C#代码的情况下切换不同的输出格式。例如:7200sec(仅输出总秒数(2小时00分00秒(以友好的方式输出TimeSpan(120分钟(仅输出总分钟数(等等

我不想针对每种情况调整我的代码。

TimeSpan.ToStringstring.format的混合应该很有用。

string format = "{2}h {0:%mm}min {0:%ss}sec";
string format2 = "{4}min";
TimeSpan ts = TimeSpan.FromSeconds(7200);
Console.WriteLine(string.Format(format, ts, ts.TotalDays, ts.TotalHours, ts.TotalMinutes, ts.TotalSeconds));
Console.WriteLine(string.Format(format2, ts, ts.TotalDays, ts.TotalHours, ts.TotalMinutes, ts.TotalSeconds));

最新更新