我使用以下方法显示时间。
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 任何人都可以告诉我如何处理数字。
答案 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