public static int getIntervalDays(Calendar startday,Calendar endday){
//确保startday在endday之前 if(startday.before(endday)){ //判断 Calendar cal=startday; startday=endday; endday=cal; } //分别得到两个时间的毫秒数 long sl=startday.getTimeInMillis(); long el=endday.getTimeInMillis(); long ei=el-sl; //根据毫秒数计算间隔天数 return (int)(ei/(1000*60*60*24)); }
//提高计算时间的精度 public int getDaysBetween (Calendar d1, Calendar d2){ if (d1.after(d2)) { // swap dates so that d1 is start and d2 is end java.util.Calendar swap = d1; d1 = d2; d2 = swap; } int days = d2.get(Calendar.DAY_OF_YEAR) - d1.get(Calendar.DAY_OF_YEAR); int y2 = d2.get(Calendar.YEAR); if (d1.get(Calendar.YEAR) != y2) { d1 = (Calendar) d1.clone(); do { days += d1.getActualMaximum(Calendar.DAY_OF_YEAR);//得到当年的实际天数 d1.add(Calendar.YEAR, 1); } while (d1.get(Calendar.YEAR) != y2); } return days; } public static String getSystemTime(){ //好方法 java.util.Date date21=new java.util.Date(); //一定要因对包 SimpleDateFormat df=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); System.out.println("***"+df.format(date21)); return df.format(date21.getTime()); }
//明天日期 public static void getTomorrow(){ //很好的方法 SimpleDateFormat formatter = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss G E D F w W a E F"); java.util.Date myDate=new java.util.Date(); long myTime=(myDate.getTime()/1000)+60*60*24; myDate.setTime(myTime*1000); String mDate=formatter.format(myDate); System.out.println(mDate); }
//将字符串类型的日期转换为一个Date public final static java.sql.Date string2Date(String dateString)throws java.lang.Exception { DateFormat dateFormat; dateFormat = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH); dateFormat.setLenient(false); java.util.Date timeDate = dateFormat.parse(dateString);//util类型 java.sql.Date dateTime = new java.sql.Date(timeDate.getTime());//sql类型 return dateTime; } public final static java.sql.Timestamp string2Time(String dateString)throws java.text.ParseException { DateFormat dateFormat; dateFormat = new SimpleDateFormat("yyyy-MM-dd kk:mm:ss.SSS", Locale.ENGLISH);//设定格式 dateFormat.setLenient(false); java.util.Date timeDate = dateFormat.parse(dateString);//util类型 java.sql.Timestamp dateTime = new java.sql.Timestamp(timeDate.getTime());//Timestamp类型,timeDate.getTime()返回一个long型 return dateTime; }
public static void main(String args[]) throws Exception{
Date d = new Date(); System.out.println(d); //System.out.println(String.format("%tr", new Date()));