how to get i month before date from current date in java.my periodtype is month.os iwant 1 month before date from start date
if(request.getParameter("PeriodType")==""){
if(request.getParameter("startdate")!=null)
StartDate = request.getParameter("startdate");
if(request.getParameter("endDate")!=null)
开发者_运维百科 EndDate = request.getParameter("endDate");
If you don't want to use external libraries, you can do it with GregorianCalendar
:
int i = 5;
Date date = new Date();
GregorianCalendar gc = new GregorianCalendar();
gc.setTime(date);
gc.add(GregorianCalendar.MONTH, -i);
Date dateBefore = gc.getTime();
System.out.println(date);
System.out.println(dateBefore);
You can use JodaTime for this. It's a powerful library for date management. Here is code to get date one month before :
//replace [date-pattern] by your date format eg "yyyy-MM-dd"
DateTime time = DateTimeFormat.forPattern("[date-pattern]").parseDateTime("startdate")
DateTime oneMonthBefore = time.minusMonths(1)
I encourage you to browse the well-written javadoc
精彩评论