2013-08-15 6 views
0

Это мой код, отображающий дату в таком формате 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; 
+0

Я хочу показать дату, если она меньше 10, а затем обувь 01, 02, 03,04etc же в течение месяца – user2659385

ответ

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(); 

EDIT:

String completedate2 = String.format("%02d", mday) + String.format("%02d", mMonth) + mYear; 
+0

как я буду добавлять в эту строку finalate2 = mDay + mMonth + mYear; – user2659385

+0

См. Мое редактирование выше – Husman

+0

Мне понравилось this completedate2 = String.format ("% 02d", mDay) + String.format ("% 02d", mMonth) + mYear; и есть работа thnx: 0 – user2659385

1

Попробуйте использовать что-то вроде этого:

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

Он проверяет, если значение меньше 10, а затем добавьте 0 в начале.

+0

thsi show error Оператор + не определен для типа аргументов java.lang.Object & java.io. Serializable & java.lang.Comparable , java.lang.Object & java.io.Serializable & java.lang.Comparable user2659385

+0

Я использую?: Операция. Вы можете устранить ошибку, я думаю. В моем проекте нет такой ошибки. Во всяком случае, другой ответ работает. –

0

Вы должны использовать встроенные средства форматирования. Рассмотрим:

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

Обратите внимание, что объекты java.text.Format не являются потокобезопасными.

Смежные вопросы