如何在C#中强制格式化字符串的最小宽度

时间:2009-02-24 14:05:25

标签: c# .net string formatting

我有以下声明

DateTime now = DateTime.Now;
string test = string.Format("{0}{1}{2}{3}", now.Day, now.Month, now.Year, now.Hour);

这给了我:

test = "242200915"

但我希望有类似的东西:

test = "2402200915"

所以问题是,如何在用零填充时强制使用字符串格式化程序输出宽度为2的每个int?

3 个答案:

答案 0 :(得分:19)

DateTime now = DateTime.Now;
string test = now.ToString("ddMMyyyyHH");

答案 1 :(得分:16)

您可以使用string.Format("{0:000} {0:D3}", 7)
得到007 007

以下是有关MSDN的有用概述:Custom Numeric Format Strings

答案 2 :(得分:1)

为什么不做呢

String test = DateTime.Now.ToString("ddMMyyyyHH");

您可以将数字格式化为特定宽度,但这似乎更符合您的要求。