我有以下代码:
string textTransDate = String.Format("{0}-{1}-{2} {3}:{4}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute);
如果月份和日期小于10,我想在前面添加零,应该如何实现?
我有以下代码:
string textTransDate = String.Format("{0}-{1}-{2} {3}:{4}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute);
如果月份和日期小于10,我想在前面添加零,应该如何实现?
string textTransDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm");
详情请参见:
String.Format(@"{0:yyyy-MM-dd HH\:mm}", DateTime.Now);
转义字符\:确保您获取字面冒号分隔符,而不是特定于文化的时间分隔符,以匹配您的原始代码。请参见MSDN中的自定义日期和时间格式字符串。
要获取数字参数的前导零,请查看自定义数值格式字符串:
String.Format("{0:0000}-{1:00}-{2:00} {3:00}:{4:00}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute);
甚至包括标准数字格式字符串:
String.Format("{0:D4}-{1:D2}-{2:D2} {3:D2}:{4:D2}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute);
string textTransDate = String.Format("{0}-{1:00}-{2} {3}:{4}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute);
D2
格式会在需要时添加前导零。
String.Format("{0}-{1:D2}-{2:D2} {3}:{4}", DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, DateTime.Now.Hour, DateTime.Now.Minute);
string textTransDate = DateTime.Now.ToString("yy-MM-hh:mm");
\
加倍或使用原义字符串字面量。或者将其放在单引号中。 - Jon Skeet