//获取最大值
public static int getMaxInteger(Integer... values){
int maxValue = values[0];
for (Integer value : values) {
maxValue = Math.max(maxValue,value);
}
return maxValue;
}
//获取最小值
public static int getMinInteger(Integer... values){
int minValue = values[0];
for (Integer value : values) {
minValue = Math.min(minValue,value);
}
return minValue;
}
/**
* 两个日期之间有多少天
* @param startTime 开始时间
* @param endTime 结束时间
* @return 返回时间间隔长度
*/
public static long lengthBetweenTwoDate(LocalDate startTime, LocalDate endTime) {
return endTime.toEpochDay()-startTime.toEpochDay();
}
/**
* 汉字转换位汉语拼音首字母,英文字符不变
* 引入jar包pinyin4j
* @param chines
* 汉字
* @return 拼音
*/
public static String converterToFirstSpell(String chines) {
chines = cleanChar(chines);
StringBuilder pinyinName = new StringBuilder();
char[] nameChar = chines.toCharArray();
HanyuPinyinOutputFormat defaultFormat = new HanyuPinyinOutputFormat();
defaultFormat.setCaseType(HanyuPinyinCaseType.UPPERCASE);
defaultFormat.setToneType(HanyuPinyinToneType.WITHOUT_TONE);
for (char aNameChar : nameChar) {
if (aNameChar > 128) {
try {
pinyinName.append(PinyinHelper.toHanyuPinyinStringArray(aNameChar, defaultFormat)[0].charAt(0));
} catch (BadHanyuPinyinOutputFormatCombination e) {
e.printStackTrace();
}
} else {
pinyinName.append(aNameChar);
}
}
return pinyinName.toString();
}
/**
* 清理特殊字符以便得到
* @param chines
* @return
*/
private static String cleanChar(String chines) {
chines = chines.replaceAll("[\\p{Punct}\\p{Space}]+", ""); // 正则去掉所有字符操作
// 正则表达式去掉所有中文的特殊符号
String regEx = "[`~!@#$%^&*()+=|{}':;',\\[\\].<>/?~!@#¥%……&*()——+|{}<>《》【】‘;:”“’。,、?]";
Pattern pattern = Pattern.compile(regEx);
Matcher matcher = pattern.matcher(chines);
chines = matcher.replaceAll("").trim();
return chines;
}
/**
* 判断时间格式是否是指定格式
* @param date 字符串类型时间
* @param dateFormat 指定日期的格式
* @return 返回布尔值
*/
public static boolean isValidDate(String date,String dateFormat){
if (!Strings.isNullOrEmpty(date)){
try {
LocalDate.parse(date, DateTimeFormatter.ofPattern(dateFormat));
return true;
} catch (Exception e) {
logger.error(e.getMessage());
}
}
return false;
}
//深度clone对象
@SuppressWarnings("unchecked")
public static <T extends Serializable> T clone(T obj) {
T clonedObj = null;
try {
ByteArrayOutputStream baos = new ByteArrayOutputStream();
ObjectOutputStream oos = new ObjectOutputStream(baos);
oos.writeObject(obj);
oos.close();
ByteArrayInputStream bais = new ByteArrayInputStream(baos.toByteArray());
ObjectInputStream ois = new ObjectInputStream(bais);
clonedObj = (T) ois.readObject();
ois.close();
} catch (Exception e) {
e.printStackTrace();
}
return clonedObj;
}
https://www.cnblogs.com/qiuting/p/7880500.html
9点到17点之间,每隔20秒执行一次 */20 * 9-16 ? * *