【发布时间】:2016-06-25 14:39:45
【问题描述】:
在 .Net 应用程序中,我想以固定长度格式格式化日期和时间,但当天没有前导零,如下所示:
String.Format("{0:d MMM HH:mm:ss}", DateTime.Now);
"25 Jun 04:21:11"
这适用于一个月中大于十天的天数,但(如documented)不插入前导空格。现在,以下内容应提供所需的格式:
String.Format("{0,2:d}", DateTime.Now);
"25/06/2016"
但是,正如所见,使用标准Short date 格式字符串来格式化日期。我可以使用:
String.Format("{0,2:''d} {0:MMM HH:mm:ss}", DateTime.Now.AddDays(-20));
" 5 Jun 04:21:11"
能得到想要的效果,但这似乎不是很令人满意。
让格式化程序使用隔离d 的自定义格式字符串解释而不是短日期标准格式是否有更少的解决方法?
【问题讨论】:
-
在日期之前插入一个空格是一件不寻常的事情......为什么您希望日期格式支持它?
-
因为数字格式通常使用“#”字符作为格式中空白位置的空格符。
标签: c# .net datetime string-formatting