一、代码
@Test
void testHour(){
String hour = "24:00";
Integer laterHour = getHourOrigin(hour);
System.out.println("laterHour->"+laterHour);
Integer correctHour = getHourNow(hour);
System.out.println("correctHour->"+correctHour);
}
private Integer getHourNow(Object object){
int hour = 0;
if (object instanceof String) {
hour = Integer.valueOf(((String) object).substring(0, ((String) object).indexOf(":")));
} else if(object instanceof Date){
hour = Integer.valueOf(formatDate((Date) object, "HH"));
}
return hour;
}
private Integer getHourOrigin(Object object){
int hour = 0;
if (object instanceof String) {
hour = Integer.valueOf(formatDate(parseDateStr(object.toString(),"HH"), "HH"));
} else if(object instanceof Date){
hour = Integer.valueOf(formatDate((Date) object, "HH"));
}
return hour;
}
public static String formatDate(Date date,String formatPattern){
if(date == null || StringUtils.isBlank(formatPattern)){
throw new RuntimeException("传入参数异常,日期format报错");
}
SimpleDateFormat sdf = new SimpleDateFormat(formatPattern);
return sdf.format(date);
}
public static Date parseDateStr(String time, String formatPattern){
if(StringUtils.isBlank(time) || StringUtils.isBlank(formatPattern)){
throw new RuntimeException("传入参数异常,日期字符串parse报错");
}
SimpleDateFormat f = new SimpleDateFormat(formatPattern);
try {
return f.parse(time);
} catch (ParseException e) {
e.printStackTrace();
}
return null;
}