字面上打印带有前导0的整数

2 c# c#-4.0

我正在尝试打印数字,如0101 .... 1231,前两位数字是月,接下来的两位是天.我这样做了:

int d, m;
for (m = 01; m <= 12; m++)
    for (d = 01; d <= 31; d++)
        Console.WriteLine(loc + m.ToString() + d.ToString());
//      Directory.CreateDirectory(loc + m.ToString() + d.ToString());
Run Code Online (Sandbox Code Playgroud)

这是打印数字,如11而不是0101.如何将整数1到9打印为01-09?

Kon*_*ski 5

Console.WriteLine(loc + m.ToString("D2") + d.ToString("D2"));
Run Code Online (Sandbox Code Playgroud)

请参阅标准数字格式字符串[MSDN]以供参考.

虽然:

        var date = new DateTime(2011, 1, 1);
        while (date < new DateTime(2012, 1, 1))
        {
            Console.WriteLine(loc + date.ToString("MMdd"));
            // ^ MMdd stands for Month-Month, day-day (indicating you want them both displayed in a double digit format)
            // (uppercase M is used because lowercase m is already taken, it stands for minutes)
            date = date.AddDays(1);
        }
Run Code Online (Sandbox Code Playgroud)

可以让您更方便地控制输出日期格式,并帮助您避免打印出不存在的日期(例如4月31日或2月30日)

请参阅DateTime.ToString方法(字符串)[MSDN]以供参考.