是否可以不重复字符串格式yyyy-MM-dd HH:mm:ss
:
Console.WriteLine($"{DateTime.Now:yyyy-MM-dd HH:mm:ss} {DateTime.Now.AddDays(1):yyyy-MM-dd HH:mm:ss}");
除了以下变通方法:
Func<string, object, string> _ = string.Format;
var f = "yyyy-MM-dd HH:mm:ss";
Console.WriteLine($"{_(f, DateTime.Now)} {_(f, DateTime.Now.AddDays(1))}")
4条答案
按热度按时间xienkqul1#
您尝试使用的格式与以下格式之一非常相似:
| 姓名|说明符|格式|
| - ------|- ------|- ------|
| 可排序格式|
s
|"yyyy'-'MM'-'dd'T'HH':'mm':'ss"
|| 往返格式|
o
或O
|"yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fffffffK"
|| 通用可排序格式|
u
|"yyyy'-'MM'-'dd HH':'mm':'ss'Z'"
|如果可以使用其中一个,则无需维护自定义格式字符串。
如果没有,并且您可以全局定义格式,则可以执行以下操作:
然后,如果您使用'g'格式(短日期+短时间)再次运行相同的调用,它将遵守全局设置:
此外,如果您知道所需的格式是在特定区域性/国家/地区中使用的格式,并且因此而使用它,则还可以直接将当前区域性设置为该格式,而不必自定义任何单个格式。
qij5mzcb2#
如果您有许多片段需要格式化,我建议为此实现自定义文化:
那么你可以把它写成
7lrncoxx3#
可以将字符串格式传递到
DateTime
的ToString()
方法中更多详情请访问:
z4bn682m4#
您可以创建静态类并提供静态属性以获得始终相同的格式。
用法: