欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Java日期加减

程序员文章站 2022-06-26 08:01:01
...
import   java.util.*;  
  import   java.text.*;  
   
  public   class   formatDate   {  
   
      public   formatDate()   {  
      }  
   
      //   格式化日期为字符串   "yyyy-MM-dd   hh:mm"  
      public   String   formatDateTime(Date   basicDate,String   strFormat)   {  
          SimpleDateFormat   df   =   new   SimpleDateFormat(strFormat);  
          return   df.format(basicDate);  
      }  
   
      //   格式化日期为字符串   "yyyy-MM-dd   hh:mm"  
      public   String   formatDateTime(String   basicDate,String   strFormat)   {  
          SimpleDateFormat   df   =   new   SimpleDateFormat(strFormat);  
          Date   tmpDate=null;  
          try   {  
              tmpDate=df.parse(basicDate);  
          }  
          catch(Exception   e)   {  
              //   日期型字符串格式错误  
          }  
          return   df.format(tmpDate);  
      }  
   
      //   当前日期加减n天后的日期,返回String   (yyyy-mm-dd)  
      public   String   nDaysAftertoday(int   n)   {  
          SimpleDateFormat   df   =   new   SimpleDateFormat("yyyy-MM-dd");  
          Calendar   rightNow   =   Calendar.getInstance();  
          //rightNow.add(Calendar.DAY_OF_MONTH,-1);  
          rightNow.add(Calendar.DAY_OF_MONTH,+n);  
          return   df.format(rightNow.getTime());  
      }  
   
      //   当前日期加减n天后的日期,返回String   (yyyy-mm-dd)  
      public   Date   nDaysAfterNowDate(int   n)   {  
          Calendar   rightNow   =   Calendar.getInstance();  
          //rightNow.add(Calendar.DAY_OF_MONTH,-1);  
          rightNow.add(Calendar.DAY_OF_MONTH,+n);  
          return   rightNow.getTime();  
      }  
   
      //   给定一个日期型字符串,返回加减n天后的日期型字符串  
      public   String   nDaysAfterOneDateString(String   basicDate,int   n)   {  
          SimpleDateFormat   df   =   new   SimpleDateFormat("yyyy-MM-dd");  
          Date   tmpDate   =   null;  
          try   {  
              tmpDate   =   df.parse(basicDate);  
          }  
          catch(Exception   e){  
              //   日期型字符串格式错误  
          }  
          long   nDay=(tmpDate.getTime()/(24*60*60*1000)+1+n)*(24*60*60*1000);  
          tmpDate.setTime(nDay);  
   
          return   df.format(tmpDate);  
      }  
   
      //   给定一个日期,返回加减n天后的日期  
      public   Date   nDaysAfterOneDate(Date   basicDate,int   n)   {  
          long   nDay=(basicDate.getTime()/(24*60*60*1000)+1+n)*(24*60*60*1000);  
          basicDate.setTime(nDay);  
   
          return   basicDate;  
      }  
   
      //   计算两个日期相隔的天数  
      public   int   nDaysBetweenTwoDate(Date   firstDate,Date   secondDate)   {  
          int   nDay=(int)((secondDate.getTime()-firstDate.getTime())/(24*60*60*1000));  
          return   nDay;  
      }  
   
      //   计算两个日期相隔的天数  
      public   int   nDaysBetweenTwoDate(String   firstString,String   secondString)   {  
          SimpleDateFormat   df   =   new   SimpleDateFormat("yyyy-MM-dd");  
          Date   firstDate=null;  
          Date   secondDate=null;  
          try   {  
              firstDate   =   df.parse(firstString);  
              secondDate=df.parse(secondString);  
          }  
          catch(Exception   e)   {  
              //   日期型字符串格式错误  
          }  
   
          int   nDay=(int)((secondDate.getTime()-firstDate.getTime())/(24*60*60*1000));  
          return   nDay;  
      }  
   
  }  
package cn.zxlc.excel;

import java.io.FileInputStream;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

import org.apache.poi.hssf.usermodel.HSSFCell;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFCell;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class Main {

	/**
	 * @param args
	 * @throws ParseException 
	 */
	public static void main(String[] args) throws ParseException {
		//System.out.println(12);
		//readExcel();
		
		
		System.out.println(nDaysAftertoday(60));//当前日期 + 60天的日期	
		System.out.println(nDaysAfterMonth(2));//当前日期 + 2个月
		System.out.println(nDaysAftertoday("2001-2-1",60)); //传入日期 +60天
		System.out.println(nDaysAfterMonth("2001-2-1",2)); //传入日期 + 2个月
	}
 
   public static  String   nDaysAftertoday(int   n)   {  
	          SimpleDateFormat   df   =   new   SimpleDateFormat("yyyy-MM-dd");  
	          Calendar   rightNow   =   Calendar.getInstance();  
	          //rightNow.add(Calendar.DAY_OF_MONTH,-1);  
	          rightNow.add(Calendar.DAY_OF_MONTH,+n);  
	          return   df.format(rightNow.getTime());  
   } 
   public static  String   nDaysAftertoday(String strDate,int   n) throws ParseException   {  
       SimpleDateFormat   df   =   new   SimpleDateFormat("yyyy-MM-dd");  
       Calendar   rightNow   =   Calendar.getInstance(); 
       Date date=df.parse(strDate);
       rightNow.setTime(date);
       //rightNow.add(Calendar.DAY_OF_MONTH,-1);  
       rightNow.add(Calendar.DAY_OF_MONTH,+n);  
       return   df.format(rightNow.getTime());  
} 
   
   public static  String   nDaysAfterMonth(int  n)   {  
       SimpleDateFormat   df   =   new   SimpleDateFormat("yyyy-MM-dd");  
       Calendar   rightNow   =   Calendar.getInstance();  
       
       //rightNow.add(Calendar.DAY_OF_MONTH,-1);  
       //rightNow.add(Calendar.DAY_OF_MONTH,+n);  
       rightNow.add(Calendar.MONTH,+n);  
       return   df.format(rightNow.getTime());  
  }  
   public static  String   nDaysAfterMonth(String strDate,int  n) throws ParseException   {  
       SimpleDateFormat   df   =   new   SimpleDateFormat("yyyy-MM-dd");  
       Calendar   rightNow   =   Calendar.getInstance();  
       Date date=df.parse(strDate);
       rightNow.setTime(date);
       //rightNow.add(Calendar.DAY_OF_MONTH,-1);  
       //rightNow.add(Calendar.DAY_OF_MONTH,+n);  
       rightNow.add(Calendar.MONTH,+n);  
       return   df.format(rightNow.getTime());  
  }  

		
	 
	 
}