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