/**
* 把12小时格式的时间字符串转换为24小时格式的字符串
* input: 07:05:45PM
* output: 19:05:45
* input: 12:00:00PM
* output: 00:00:00
* @param lowFormatTimeStr
* @return
*/
public static String convertTimeFormate(String lowFormatTimeStr){
if(lowFormatTimeStr==null){
return null
}
String trim = lowFormatTimeStr.trim()
if (trim.isEmpty()){
return null
}
int length = trim.length()
if (length!=10){
return null
}
String substring7 = trim.substring(0, 2)
if (substring7.equals("00")){
return null
}else {
Integer i = Integer.valueOf(substring7)
if (i>12){
return null
}
}
String substring8 = trim.substring(3, 5)
if (!(substring8.substring(0,1).equals("0"))){
Integer i = Integer.valueOf(substring8)
if (i>60){
return null
}
}
String substring9 = trim.substring(6, 8)
if (!(substring9.substring(0,1).equals("0"))){
Integer i = Integer.valueOf("0")
if (i>60){
return null
}
}
for (int i = 0
char c = trim.charAt(i)
if (trim.endsWith("PM")){
continue
}else if(trim.endsWith("AM")){
continue
}else {
return null
}
}
String substring = trim.substring(0, 2)
for (int i = 0
char c = substring.charAt(i)
if (!Character.isDigit(c)){
return null
}
}
String substring1 = trim.substring(2, 3)
if (!substring1.equals(":")){
return null
}
String substring2 = trim.substring(3, 5)
for (int i = 0
char c = substring2.charAt(i)
if(!Character.isDigit(c)){
return null
}
}
String substring3 = trim.substring(5, 6)
if(!substring3.equals(":")){
return null
}
String substring4 = trim.substring(6, 8)
for (int i = 0
char c = substring4.charAt(i)
if (!Character.isDigit(c)){
return null
}
}
String substring5 = trim.substring(0, 2)
StringBuilder stringBuilder = new StringBuilder()
if (trim.endsWith("PM")){
String substring6 = substring5.substring(0, 1)
Integer i=null
if (substring6.equals("0")){
i = Integer.valueOf(substring5.substring(1))
}else {
i = Integer.valueOf(substring5)
}
if (i<12){
i+=12
}else {
i-=12
}
if (i>=10){
String s = String.valueOf(i)
stringBuilder.append(s)
stringBuilder.append(trim.substring(2,8))
}else {
StringBuilder stringBuilder1 = new StringBuilder()
stringBuilder1.append(0)
stringBuilder1.append(i)
stringBuilder1.append(trim.substring(2,8))
return stringBuilder1.toString()
}
}else {
return trim.substring(0,8)
}
return stringBuilder.toString()
}