日历给予小时和分钟而不领先零 - Android

时间:2014-03-20 07:15:09

标签: android calendar

我知道很多关于日历的教程,给出分钟和小时而没有前导零。但那些对我的代码不起作用。有人可以根据我的代码帮助我如何做到这一点吗?每当minite为0-9时,Calendar.MINUTE都不显示零整数。

Calendar cal = GregorianCalendar.getInstance();
  String am_pm, hour;
  cal.add(Calendar.MONTH, +1);

  if(cal.get(Calendar.AM_PM) == 0)
      am_pm = "AM";
      else
      am_pm = "PM"; 

tv.setText(cal.get(Calendar.MONTH) + "-" + cal.get(Calendar.DAY_OF_MONTH) + "-" + cal.get(Calendar.YEAR));
  tv2.setText(cal.get(Calendar.HOUR) + ":" + cal.get(Calendar.MINUTE) + " " + am_pm);
tv3.setText("Offered");

2 个答案:

答案 0 :(得分:14)

你可以使用DateFormat或Simple方法来做到这一点

String month=String.format("%02d",cal.get(Calendar.MONTH));
String day=String.format("%02d",cal.get(Calendar.DAY_OF_MONTH));
String year=String.format("%02d",cal.get(Calendar.YEAR));
tv.setText( month+ "-" + day + "-" +year );

答案 1 :(得分:0)

使用DateFormat进行文本输出。

例如:

Calendar cal = GregorianCalendar.getInstance();
String am_pm, hour;
cal.add(Calendar.MONTH, +1);

Date date = cal.getTime();

DateFormat[] formats = new DateFormat[] {
    DateFormat.getDateInstance(),
    DateFormat.getDateTimeInstance(),
    DateFormat.getTimeInstance(),
};
for (DateFormat df : formats) {
    System.out.println(df.format(date));
}