如何将23:3改为23:03 ?
Calendar calendar = Calendar.getInstance();
calendar.setTimeInMillis(System.currentTimeMillis());
String data = calendar.get(Calendar.HOUR_OF_DAY) + ":" + calendar.get(Calendar.MINUTE) + " " + calendar.get(Calendar.DAY_OF_MONTH) + "-"
+ calendar.get(Calendar.MONTH) + "-"
+ calendar.get(Calendar.YEAR);
System.out.println(data);
nad print: 23:3 15-6-2015但今天是23:03 15-7-2015
这是完全不直观和烦人的,但这就是API的设计方式;当您请求月份时返回的值是从零开始的;你必须在上面加1才能得到"真正的"月号。
查看Calendar.MONTH
字段的文档:
get和set的字段号,表示月份。这是一个特定于日历的值。公历和儒略历一年的第一个月是
JANUARY
,即0;最后一个取决于一年的月数。(强调我的)
此外,与其手工构建字符串,不如使用SimpleDateFormat
之类的东西容易得多;这样您就不会遇到这个问题了,而且您还可以将时间打印为23:03
:
SimpleDateFormat sdf = new SimpleDateFormat("HH:mm dd-MM-yyyy");
sdf.setTimeZone(calendar.getTimeZone());
System.out.println(dateFormat.format(calendar.getTime()));