zoukankan      html  css  js  c++  java
  • java Calendar

    /**  
    
          * 计算指定日期为当年第几周  
    
          * @param year      指定的年份  
    
          * @param month     指定的月份  
    
          * @param day       指定的日  
    
          * @return          指定日期为当年的第几周  
    
          */ 
    
        public static int caculateWeekOfYear(int year,int month,int day){  
    
             Calendar c = Calendar.getInstance();  
    
             c.set(Calendar.YEAR, year);  
    
             c.set(Calendar.MONTH, month - 1);  
    
             c.set(Calendar.DATE, day);  
    
             return c.get(Calendar.WEEK_OF_YEAR);  
    
         }  
    
            
    
         /**  
    
          * 获取本月第一天是星期几  
    
          * @return  
    
          */ 
    
         public static int getWeekOfFirstDay(Calendar c){  
    
             Calendar calendar = c;  
    
             calendar.set(Calendar.DAY_OF_MONTH, 1);  
    
             return calendar.get(Calendar.DAY_OF_WEEK);  
    
         }  
    
            
    
         /**  
    
          * 获取本月1号是该年的第几周  
    
          * @return  
    
          */ 
    
         public static int getMonthStartWeek(Calendar c){  
    
             Calendar calendar = c;  
    
             calendar.set(Calendar.DATE, 1);  
    
             return calendar.get(Calendar.WEEK_OF_YEAR);  
    
         }  
    
            
    
         /**  
    
          * 获取当天是该年的第几周  
    
          */ 
    
         public static int getCurrentWeekOfYear(){  
    
             Calendar calendar = Calendar.getInstance();  
    
             return calendar.get(Calendar.WEEK_OF_YEAR);  
    
         }  
    
            
    
         /**  
    
          * 获取上月的总天数  
    
          * @return  
    
          */ 
    
         public static int getLastMonthDays(Calendar c){  
    
             Calendar calendar = c;  
    
             calendar.set(Calendar.MONTH, calendar.get(Calendar.MONTH) - 1);  
    
             return calendar.getActualMaximum(Calendar.DAY_OF_MONTH);  
    
         }  
    
            
    
         /**  
    
          * 获取指定月份的总天数  
    
          * @return  
    
          */ 
    
         public static int getCurrentMonthDays(int month){  
    
             Calendar c = Calendar.getInstance();  
    
             c.set(Calendar.MONTH, month);  
    
             return c.getActualMaximum(Calendar.DAY_OF_MONTH);  
    
         }  
    
            
    
         /**  
    
          * 获取指定年份有多少周  
    
          * @param year  
    
          * @return  
    
          */ 
    
         public static int getTotalWeekOfYear(int year){  
    
             Calendar c = Calendar.getInstance();  
    
             return c.getActualMaximum(Calendar.WEEK_OF_YEAR);  
    
         }  
    
            
    
         /**  
    
          * 判断指定月份是否是当前月  
    
          * @param month  
    
          * @return  
    
          */ 
    
         public static boolean isCurrentMonth(int month){  
    
             Calendar c = Calendar.getInstance();  
    
             return (c.get(Calendar.MONTH) == month)?true:false;  
    
         }  
    
            
    
         /**  
    
          * 计算指定的月份共有多少天  
    
          */ 
    
         public static int getTotalDaysOfMonth(int year, int month){  
    
             Calendar c = Calendar.getInstance();  
    
             c.set(Calendar.YEAR, year);  
    
             c.set(Calendar.MONTH, month);  
    
             c.set(Calendar.DATE, 1);  
    
             /**  
    
              * 计算这个月有多少天  
    
              */ 
    
             return c.getActualMaximum(Calendar.DAY_OF_MONTH);  
    
     } 

    1.以上是各种方法

    2.java 日期的加减

    1. public class test1 {   
    2.   
    3.     public static void main(String[] args) {   
    4.           Calendar c = Calendar.getInstance();   
    5.           int year=c.get(Calendar.YEAR);   
    6.              
    7.   
    8.             int month=c.get(Calendar.MONTH)+1;   
    9.           int date=c.get(Calendar.DATE);   
    10.           System.out.println("今天是"+year+"年"+month+"月"+date+"日");   
    11.           System.out.println("是今年的第"+c.get(Calendar.DAY_OF_YEAR)+"天");   
    12.           System.out.println("c.getTime()的結果: "+c.getTime());   
    13.           System.out.println("new Date()的結果: "+new Date());   
    14.           c.set(Calendar.DAY_OF_YEAR, date + 30);   
    15.           System.out.println("17天后是"+c.getTime());   
    16.       }   
    17.   
    18. }  
    1.      
    2.      public static Date getDateBefore(Date d, int day) {      
    3.          Calendar now = Calendar.getInstance();      
    4.          now.setTime(d);      
    5.          now.set(Calendar.DATE, now.get(Calendar.DATE) - day);      
    6.          return now.getTime();      
    7.      }     
    8.        
    9.      public static Date getDateAfter(Date d, int day) {      
    10.         Calendar now = Calendar.getInstance();      
    11.          now.setTime(d);      
    12.         now.set(Calendar.DATE, now.get(Calendar.DATE) + day);      
    13.          return now.getTime();      
    14.      }    
     

    注意int month=c.get(Calendar.MONTH)+1哦,好像系统是从0开始计月份,到了12月就归零了。所以单独取月份时,要在后面加一才能得到当前的月份。



    calender日期加减后赋值给Date类型
    Java代码
    1. SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");   
    2. String time=sdf.format(new Date());    
    3. Calendar cd = Calendar.getInstance();   
    4.   
    5. try {   
    6.     cd.setTime(sdf.parse(time));   
    7. catch (ParseException e) {               
    8.     e.printStackTrace();   
    9. }   
    10.       cd.add(Calendar.DATE, 1);//增加一天        
    11.        //cal.add(Calendar.DATE, -1);      //减一天    
    12.        //cd.add(Calendar.MONTH, 1);//增加一月    
    13.       Date date=cd.getTime();    
    14.       System.out.println(sdf.format(date));  
     
  • 相关阅读:
    js调用oc方法 UIWebView 跳 到另一个UIWebView
    可变cell,自适应cell,理解iOS 8中的Self Sizing Cells和Dynamic Type
    设置textField的placeholder字体的颜色,默认是灰色
    设置按钮(UIButton)为圆角矩形
    UITextView限制输入字数
    如何更好地限制一个UITextField的输入长度
    uitableview style类型为Grouped时,去掉上面空白的方法
    python note 01 计算机基础与变量
    Leetcode61.旋转链表
    Leetcode 430. 扁平化多级双向链表
  • 原文地址:https://www.cnblogs.com/tian-chen/p/3291258.html
Copyright © 2011-2022 走看看