如何在Java(Android)中使用getMonth添加Leading Zero

Rob*_*bby 11 java android date getdate

我正在使用一个int变量:

month = dp.getMonth() + 1;
Run Code Online (Sandbox Code Playgroud)

目前获得"2"的输出,当我执行以下操作时:

if (month<10){
                month = '0'+month;
            };
Run Code Online (Sandbox Code Playgroud)

我明白了:50.

Sim*_*zie 39

你的问题是你'0' char被强制转换为整数.由于'0'具有ASCII值48,您将获得48 + 2 = 50.

请注意,您正在试图做是行不通的-你不能添加领先0month,因为month是一个数字.前导零仅在数字的字符串表示中有意义.

本回答所述,以下是如何生成零填充数字:

String.format("%02d", month);   
Run Code Online (Sandbox Code Playgroud)