做个工具人,记录一下平常用到的一些工具方法,随缘更新
1.判断是包含数字
/**
* 判断是包含数字
* @param company
* @return
*/
public boolean isContainNumber(String company) {
Pattern p = Pattern.compile("[0-9]");
Matcher m = p.matcher(company);
if (m.find()) {
return true;
}
return false;
}
2.字符串提取数字
/**
* 字符串提取数字
* @param s
* @return
*/
public String stringToNum(String s) {
String regEx="[^0-9]";
Pattern p = Pattern.compile(regEx);
Matcher m = p.matcher(s);
return m.replaceAll("").trim();
}
3.日期加1天
/**
* 日期加1天
* @param s
* @param n
* @return
*/
public String addDay(String s, int n) {
try {
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Calendar cd = Calendar.getInstance();
cd.setTime(sdf.parse(s));
cd.add(Calendar.DATE, n);// 增加一天
// cd.add(Calendar.MONTH, n);//增加一个月
// cd.add(cd.YEAR, 1);//把日期往后增加一年.整数往后推,负数往前移动
// cd.add(cd.DAY_OF_MONTH, 1);//把日期往后增加一个月.整数往后推,负数往前移动
// cd.add(cd.DATE,1);//把日期往后增加一天.整数往后推,负数往前移动
// cd.add(cd.WEEK_OF_MONTH, 1);//把日期往后增加一个月.整数往后推,负数往前移动
// date=cd.getTime(); //这个时间就是日期往后推一天的结果
return sdf.format(cd.getTime());
} catch (Exception e) {
return null;
}
}
4.日期加n天
/**
* 日期加n天
* @param specifiedDay
* @param afterDays
* @return
*/
public String getSpecifiedDayAfter(String s,int n){
Calendar c = Calendar.getInstance();
Date date=null;
try {
date = new SimpleDateFormat("yy-MM-dd").parse(s);
} catch (Exception e) {
e.printStackTrace();
}
c.setTime(date);
int day=c.get(Calendar.DATE);
c.set(Calendar.DATE,day+n);
String dayAfter=new SimpleDateFormat("yyyy-MM-dd").format(c.getTime());
return dayAfter;
}
5.计算日期相隔天数
/**
* 计算日期相隔天数
* @param startTime
* @param endTime
* @return
*/
public static int caculateTotalDay(String startDay,String endDay) {
SimpleDateFormat formatter = new SimpleDateFormat( "yyyy-MM-dd");
Long l = 0L;
try {
Date date = formatter.parse(startDay);
Date date1 = formatter.parse(endDay);
long ts = date.getTime();
long ts1 = date1.getTime();
l = (ts - ts1) / (1000 * 60 * 60 * 24);
} catch (Exception e) {
e.printStackTrace();
}
return l.intValue();
}