我正在生成一个代码,该代码从用户那里获取AM / PM格式并以24小时格式提供输出。该程序适用于所有输入,除非输入时间范围在" 00:00:00 AM"至" 12:00:00 PM"(独家)。
String[] time = s.split(":");
int hours = Integer.parseInt(time[0]);
int minutes = Integer.parseInt(time[1]);
if(s.endsWith("AM")){
time[2] = time[2].replace("AM","");
}
if(s.endsWith("PM")){
time[2] = time[2].replace("PM","");
if(hours != 12)hours+=12;
}
int seconds = Integer.parseInt(time[2]);
String hh,mm,ss;
if(hours < 10 && s.endsWith("AM")){
hh = "0"+Integer.toString(hours);
}
if(hours == 12 && s.endsWith("AM")){
hh = "00";
}else{
hh = Integer.toString(hours);
}
每当我像上午6:05:30那样输入输入时,hh会返回字符串&#34; 6&#34;但PM格式同时返回&#34; 06&#34;。
答案 0 :(得分:0)
要回答您的问题,您在else
语句的最后一个块中省略了if
语句:
if(hours < 10 && s.endsWith("AM")){
hh = "0"+Integer.toString(hours);
}
else // This one
if(hours == 12 && s.endsWith("AM")){
hh = "00";
}else{
hh = Integer.toString(hours);
}