0

这是我的代码,它以这种格式 15 8 2013 显示日期,但如果月份或日期是单数,我想以双位数显示它,如果天是 8,应该显示 08,如果月份是 8,它应该显示为 08。我如果月份和日期的条件不希望添加 9 次,是否有任何快速方法或 for 循环检测单个字符字体然后添加 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;
4

3 回答 3

1

尝试使用这样的东西:

String date=(mday<10?"0" + mday:mday) + (mMonth<10?"0" + mMonth:mMonth) + mYear;

它检查该值是否低于 10,然后在开始时添加 0。

于 2013-08-15T08:37:55.743 回答
0
String.format("%02d", mday)

应该为您将数字格式化为 2 位数字,如果是单个数字,则以 0 开头。

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

编辑:

 String completedate2 = String.format("%02d", mday) + String.format("%02d", mMonth) + mYear;
于 2013-08-15T09:04:23.420 回答
0

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

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

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

于 2013-08-15T09:30:18.133 回答