Java-很深我只知其一-Calendar类

  • Calendar类一般用其获取时间,和设定时间使用,不仅如此,还可以区分东西方星期
  • 首先Calendar类继承了Objectimplements,Serializable,Cloneable,Comparable<Calendar>
  • 同时Calendar 是被 public 和 abstract 修饰的 所以,我们不能直接通过new 获取实例对象
  • 需要通过其子类获取实例对象 :
  • 获取当前时间操作:
  • public class DemoOfChenyb {
    
         Calendar calendar = null;
     
         @Before
         public void test() {
             calendar = Calendar.getInstance();
         }
     
         // 基本用法,获取年月日时分秒星期
         @Test
         public void test1() {
    
             // 获取年
             int year = calendar.get(Calendar.YEAR);
     
             // 获取月,这里需要需要月份的范围为0~11,因此获取月份的时候需要+1才是当前月份值
             int month = calendar.get(Calendar.MONTH) + 1;
     
             // 获取日
             int day = calendar.get(Calendar.DAY_OF_MONTH);
     
             // 获取时
             int hour = calendar.get(Calendar.HOUR);
             // int hour = calendar.get(Calendar.HOUR_OF_DAY); // 24小时表示
     
             // 获取分
             int minute = calendar.get(Calendar.MINUTE);
     
             // 获取秒
             int second = calendar.get(Calendar.SECOND);
     
             // 获取星期
             int weekday = calendar.get(Calendar.DAY_OF_WEEK);
     
         }
    } 
  • 时间设定
  •  三个参数 :年,月,日
  • calendar.set(2018, 10, 10);
  • 两个参数
  • 第一个参数指定你要传参的类型 Key
  • 年/Calendar.YEAR 月/Calendar.MONTH 日/Calendar.DAY_OF_MONTH
  • 第二个参数 Value 如:
calendar.set(Calendar.YEAR, 2018);
calendar.set(Calendar.MONTH , 7);

现在获取的值,比如年,月,日时间就是我们提前设定好的了

  • 还可以在原有基础上追加我们的操作
  • 当前天数操作 当然,年/月 都可以
calendar.add(Calendar.DATE, -1)
  • 例子: 获取2018年7月的最后一天
calendar.set(calendar.get(Calendar.YEAR), 8, 1);//这里我们先获取下一个月的第一天
calendar.add(Calendar.DATE, -1);//追加操作,原日期 减少一天,就是我们想要的7月最后一天

Chenyb 随笔记录,方便学习

2018-10-26

猜你喜欢

转载自blog.csdn.net/scdncby/article/details/83417323
今日推荐