//计算2个日期之间相差几天
public static int getTwoDateFordays(Date exitDateFrom, Date exitDateTo){
Calendar aCalendar = Calendar.getInstance();
Calendar bCalendar = Calendar.getInstance();
aCalendar.setTime(exitDateFrom);
bCalendar.setTime(exitDateTo);
int days = 0;
while(aCalendar.before(bCalendar)){
days++;
aCalendar.add(Calendar.DAY_OF_YEAR, 1);
}
return days;
}
/**
* 计算2个日期之前相差几个月 "2011-01","2012-09"
* @param begin
* @param end
* @return
*/
public static int getDiffer(String begin, String end){
int difMonth = 0;
try{
DateFormat df = new SimpleDateFormat("yyyy-MM");
Date beginDate = df.parse(begin);
Date endDate = df.parse(end);
int beginYear = beginDate.getYear();
int beginMonth = beginDate.getMonth();
int endYear = endDate.getYear();
int endMonth = endDate.getMonth();
difMonth = (endYear-beginYear)*12+(endMonth-beginMonth)+1;
}catch(Exception e){
e.printStackTrace();
}
return difMonth;
}
/**
* 获得上个月是哪年那月
* @param date
* @return
*/
public static Date getLastDate(Date date) {
Calendar cal = Calendar.getInstance();
cal.setTime(date);
cal.add(Calendar.MONTH, -1);
return cal.getTime();
}
//计算上个月的这一天的这个时候
public static Date getLastMonthThisDay(Date date){
Calendar calendar = Calendar.getInstance();
calendar.setTime(date);
calendar.add(Calendar.MONTH, -1);
return calendar.getTime();
}
/**
* 将imei转换成6-2-6的格式
* 包括ios和安卓
* @param imei
* @return
*/
public static String changeImei(String imei) {
imei = imei.toLowerCase();
String newimei = "";
if (null == imei || "".equals(imei.trim())) {
newimei = " - - ";
}
if (imei.length() < 14) {
imei = imei + "00000000000000";
newimei = imei.substring(0, 6) + "-" + imei.substring(6, 8) + "-"+ imei.substring(8, 14);
}else if (imei.length()>=14 && imei.length()<=18){
newimei = imei.substring(0, 6) + "-" + imei.substring(6, 8) + "-"+ imei.substring(8, 14);
}else{
newimei = imei;
}
return newimei;
}
/**
* 得到某年某月的最后一天
*
* @param year
* @param month
* @return
*/
public static String getLastDayOfMonth(int year, int month) {
Calendar cal = Calendar.getInstance();
cal.set(Calendar.YEAR, year);
cal.set(Calendar.MONTH, month-1);
cal.set(Calendar.DAY_OF_MONTH, 1);
int value = cal.getActualMaximum(Calendar.DAY_OF_MONTH);
cal.set(Calendar.DAY_OF_MONTH, value);
return new SimpleDateFormat("yyyy-MM-dd").format(cal.getTime());
}