没有其他的办法,需要自己解析字符串:public class Test { public static void main(String[] args) { String time = "2359"; System.out.println(getMinutes(time)); } public static int getMinutes(String time) { if (time.length() != 4) { return -1; } int hour = Integer.parseInt(time.substring(0, 2)); int minute = Integer.parseInt(time.substring(2)); if (hour < 0 || hour > 23 || minute < 0 || minute > 59) { return -1; } return hour * 60 + minute; } }
改进一下: public class Test { public static void main(String[] args) { String time = "2301"; System.out.println(getMinutes(time)); } public static int getMinutes(String time) { if (!time.matches("(([0-1][0-9])|([2][0-3]))[0-5][0-9]")) { return -1; } int hour = Integer.parseInt(time.substring(0, 2)); int minute = Integer.parseInt(time.substring(2)); return hour * 60 + minute; } }
SimpleDateFormat sdf = new SimpleDateFormat("HHmm"); Date theDate = sdf.parse("0845"); System.out.println(theDate.getMinutes());
public static void main(String[] args) {
String time = "2359";
System.out.println(getMinutes(time));
} public static int getMinutes(String time) {
if (time.length() != 4) {
return -1;
}
int hour = Integer.parseInt(time.substring(0, 2));
int minute = Integer.parseInt(time.substring(2));
if (hour < 0 || hour > 23 || minute < 0 || minute > 59) {
return -1;
}
return hour * 60 + minute;
}
}
public class Test {
public static void main(String[] args) {
String time = "2301";
System.out.println(getMinutes(time));
} public static int getMinutes(String time) {
if (!time.matches("(([0-1][0-9])|([2][0-3]))[0-5][0-9]")) {
return -1;
}
int hour = Integer.parseInt(time.substring(0, 2));
int minute = Integer.parseInt(time.substring(2));
return hour * 60 + minute;
}
}
Date theDate = sdf.parse("0845");
System.out.println(theDate.getMinutes());