Java 如何在日历中显示双位数?

Java 如何在日历中显示双位数?,java,android,calendar,Java,Android,Calendar,这是我的代码,它以如下格式显示日期15 8 2013,但如果月份或日期是一个数字,则我希望以双位数显示日期如果日期是8,则应显示08如果月份是8,则应显示为08。我不想添加9次,如果月份和日期的条件是否有任何快速方法或循环检测单个字符,然后添加0 like if (mday=1) { mday=01 } if (mday=2) { mday=02 } if (mMonth=2) { mMonth

这是我的代码,它以如下格式显示日期15 8 2013,但如果月份或日期是一个数字,则我希望以双位数显示日期如果日期是8,则应显示08如果月份是8,则应显示为08。我不想添加9次,如果月份和日期的条件是否有任何快速方法或循环检测单个字符,然后添加0

like if (mday=1) {
         mday=01
     }

     if (mday=2) {
          mday=02
     }

     if (mMonth=2) {
          mMonth =02
     }

     if (mMonth=2) {
          mMonth =02
     }

int completedate2;

    Calendar mCalendar = Calendar.getInstance();
    mYear = mCalendar.get(Calendar.YEAR);
    mMonth = mCalendar.get(Calendar.MONTH) + 1;
    mDay = mCalendar.get(Calendar.DAY_OF_MONTH);

     Toast.makeText(this, "current date is" +mDay+mMonth+mYear, 
       Toast.LENGTH_SHORT).show();
     completedate2=mDay+mMonth+mYear;

尝试使用类似以下内容:

String date=(mday<10?"0" + mday:mday) + (mMonth<10?"0" + mMonth:mMonth) + mYear;
字符串日期=(mday)
应该为您将数字格式化为两位数字,如果是一位数字,则前导0

Toast.makeText(this, "current date is" +String.format("%02d", mday)+String.format("%02d", mMonth)+mYear, Toast.LENGTH_SHORT).show();
编辑:


您需要使用内置的格式化程序。请考虑:

Calendar mCalendar = Calendar.getInstance();
Toast.makeText(this, "current date is"
 + new java.text.SimpleDateFormat("ddMMyy").format(mCalendar.getTime())).show();

请注意,java.text.Format对象不是线程安全的。

如果日期低于10,我想显示日期,然后像这样显示01、02、03、04等。对于monththhsi显示错误运算符+对于参数类型未定义java.lang.Object&java.io.Serializable&java.lang.Comparable,java.lang.Object&java.io.Serializable&java.lang.Comparable我正在使用?:操作。你可以清除我认为的错误。在我的项目中没有这样的错误。无论如何,另一个答案是有效的。我将如何在这个字符串中添加completedate2=mDay+Amnth+mYear;我喜欢这个completedate2=string.form在(“%02d”,mDay)+String.format(“%02d”,mMonth)+mYear;并且是工作thnx:0
 String completedate2 = String.format("%02d", mday) + String.format("%02d", mMonth) + mYear;
Calendar mCalendar = Calendar.getInstance();
Toast.makeText(this, "current date is"
 + new java.text.SimpleDateFormat("ddMMyy").format(mCalendar.getTime())).show();