小时和分钟以个位数显示

时间:2016-12-19 13:26:04

标签: java

我使用以下方法显示时间。

public static String getTimeByTimezone(String timeZone,Calendar localTime){     

        String time ="";
        Calendar indiaTime = new GregorianCalendar(TimeZone.getTimeZone(timeZone));
        indiaTime.setTimeInMillis(localTime.getTimeInMillis());
        int hour = indiaTime.get(Calendar.HOUR);
        int minute = indiaTime.get(Calendar.MINUTE);
        int second = indiaTime.get(Calendar.SECOND);
        int year = indiaTime.get(Calendar.YEAR);
//      /int am = indiaTime.get(Calendar.AM_PM);
        //System.out.printf("India time: %02d:%02d:%02d %02d\n", hour, minute, second, year);

        time = hour+":"+minute; 

        if(indiaTime.get(Calendar.AM_PM)==0)
            time=time+" AM";
        else
            time=time+" PM";
return time;
}

所以结果即将到来,如果小时小于10,它出现的是单个数字并且与分钟相同,如果分钟小于10则出现一个数字。 例如:小时 - >获取:上午9:15预计:上午09:15 对于分钟 - >获取时间:上午9:8预计:上午09:08 任何人都可以告诉我如何处理数字。

1 个答案:

答案 0 :(得分:1)

您可以更好地格式化时间String

time = String.format("%02d:%02d", 1, 5);   // = 01:05

然而,要走的路是使用DateFormat

SimpleDateFormat f = new SimpleDateFormat("hh:mm a");
f.format(indiaTime.getTime()); // = 01:05 PM