0

これは、15 8 2013 のような形式で日付を表示する私のコードですが、月が 8 の場合は月または日付が 1 桁の場合は 2 桁で表示し、月が 8 の場合は 08 を表示する必要があります。月と日付の条件が1文字のフォントを検出して0を追加する高速な方法またはforループがある場合、9回追加したくないですか?

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 桁にフォーマットする必要があります。1 桁の場合は先頭に 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 に答える