c# - TimeSpan 非常灵活的字符串格式
问题描述
我想为 TimeSpan 对象实现最灵活的字符串格式。假设您有以下代码:
string format = ".................";
TimeSpan ts = TimeSpan.FromSeconds(7200);
Debug.WriteLine(ts.ToString(format));
我想指定一个参数(在我的控制台应用程序的 app.config 中?),其中包含一个字符串格式来切换不同的输出格式,而无需接触 C# 代码。例如:7200sec(仅输出总秒数)2h 00min 00sec(友好输出TimeSpan)120 min(仅输出总分钟数)等等。
我不想针对每种情况调整我的代码。
解决方案
TimeSpan.ToString
ans的混合string.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));
推荐阅读
- python - 使用 celery 执行动态任务
- java - 为什么我必须第二次在 while 中写入 line = reader.readLine() ?我以为我已经在上面定义了
- python-3.x - 如何转储 http“内容类型:应用程序/json;” 在 FastAPI 中
- kubernetes - Kubernetes/Airflow Celery worker 任务因 SigKill 9 错误而失败,但没有解释(猜测 OOME?)
- cypress - 赛普拉斯 5.0 - 无法找到已安装的浏览器
- r - 在列表中查找补数
- python - 使用 nltk 从文本文档中构建带有标签的自定义语料库
- c# - c#控制台应用程序游戏中的两个光标
- reactjs - React 中可重用的 MaterialUi 对话框
- java - Android,我可以在使用 recyclerview 时让列表数据保持不变