JAVA取得現在時刻の前日または先日、前月、前年


コア:Calendarを使用したadd(int field,int amount)メソッド
public static void main(String[] args) {
/**           、 、  */
Calendar ca = Calendar.getInstance();//    Calendar    
ca.setTime(new Date()); //          
ca.add(Calendar.DATE, -1); //   1 
Date lastMonth = ca.getTime(); //  
//    ca.add(Calendar.MONTH, -1),
//   ca.add(Calendar.YEAR, -1)
 SimpleDateFormat sdf=new SimpleDateFormat("yyyyMMdd");
 String queryDate =sdf.format(lastMonth );
 System.out.println(queryDate);
 /**         */
   Calendar ca = Calendar.getInstance();//    Calendar    
   ca.set(2009, 11, 31);//    0   ,  11  12  
   Date now = ca.getTime(); 
   ca.add(Calendar.DATE, -1); //   1 
   Date lastMonth = ca.getTime(); //   
   SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd"); 
   System.out.println(sf.format(now)); 
   System.out.println(sf.format(lastMonth));
}

同様に、同様に、前月ca.add(Calendar.MONTH,-1)、前日ca.add(Calendar.DATE,-1)、前週calendar.add(Calendar.WEEK_OF_YEAR, -1);