Skip to Content

Add or substract weeks to current date using Java Calendar

  1. /*
  2.   Add or substract weeks to current date using Java Calendar
  3.   This example shows how to add or substract weeks in current date and time values
  4.   using Java Calendar class.
  5. */
  6.  
  7. import java.util.Calendar;
  8.  
  9. public class AddWeeksToCurrentWeek {
  10.  
  11.   public static void main(String[] args) {
  12.  
  13.     //create Calendar instance
  14.     Calendar now = Calendar.getInstance();
  15.    
  16.     System.out.println("Current date : " + (now.get(Calendar.MONTH) + 1)
  17.                         + "-"
  18.                         + now.get(Calendar.DATE)
  19.                         + "-"
  20.                         + now.get(Calendar.YEAR));
  21.                        
  22.     System.out.println("Current week of month is : " +
  23.                 now.get(Calendar.WEEK_OF_MONTH));
  24.                
  25.     System.out.println("Current week of year is : " +
  26.                 now.get(Calendar.WEEK_OF_YEAR));
  27.  
  28.     //add week to current date using Calendar.add method
  29.     now.add(Calendar.WEEK_OF_YEAR,1);
  30.    
  31.     System.out.println("date after one week : " + (now.get(Calendar.MONTH) + 1)
  32.                         + "-"
  33.                         + now.get(Calendar.DATE)
  34.                         + "-"
  35.                         + now.get(Calendar.YEAR));
  36.    
  37.     //substract week from current date
  38.     now =Calendar.getInstance();
  39.     now.add(Calendar.WEEK_OF_YEAR,-50);
  40.     System.out.println("date before 50 weeks : " + (now.get(Calendar.MONTH) + 1)
  41.                         + "-"
  42.                         + now.get(Calendar.DATE)
  43.                         + "-"
  44.                         + now.get(Calendar.YEAR));
  45.  
  46.   }
  47. }
  48.  
  49. /*
  50. Typical output would be
  51. Current date : 12-25-2007
  52. Current week of month is : 5
  53. Current week of year is : 52
  54. date after one week : 1-1-2008
  55. date before 50 weeks : 1-9-2007
  56. */