关闭

关于Calendar的使用

1310人阅读 评论(0) 收藏 举报

今天在使用calendar类获取上个月的第一天、上个月的最后一天、本月的第一天、本月的最后一天的时候(同时获取),发现一个问题。就是时间月份总是有差别,经过查jdk文档和调试才知道,对于Calendar.add方法和roll会自动更新原来是时间,强迫改变,但是使用set方法则不会。而且使用set方法更加人性化,显示出来的时期更加直观。

   
    //获取上个月的第一天
    public static void  getfof(){
         //获取上个月 第一天
        Calendar c=Calendar.getInstance();
          c.add(Calendar.MONTH, -1);
          c.set(Calendar.DAY_OF_MONTH, 1);
          System.out.println(c.getTime());
        
    }
    
    /**
     * 获取当前日历的上一个月的最后一天
     * @param cal
     * @return
     */
    public static void getlofl(){
        Calendar c=Calendar.getInstance();
        c.set(Calendar.DAY_OF_MONTH, 0);
        System.out.println(c.getTime());
    }
    
    /**
     * 获取当前日历的这个月的第一天
     * @param cal
     * @return
     */
    public static void getfoft(){
        Calendar c=Calendar.getInstance();
        c.set(Calendar.DAY_OF_MONTH, 1);
        System.out.println(c.getTime());
    }
    
    /**
     * 获取当前日历的这个月的最后一天
     * @param cal
     * @return
     */
    public static void  getloft(){
        Calendar c=Calendar.getInstance();
        c.set(Calendar.DAY_OF_MONTH, c.getActualMaximum(Calendar.DAY_OF_MONTH));
        System.out.println(c.getTime());
    }



0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:393991次
    • 积分:4671
    • 等级:
    • 排名:第6490名
    • 原创:141篇
    • 转载:4篇
    • 译文:0篇
    • 评论:30条
    博客专栏
    文章分类
    最新评论