美文网首页
Calendar类

Calendar类

作者: 以宇宙为海的蓝鲸 | 来源:发表于2019-07-26 21:41 被阅读0次

    获取日历信息及时间的类。

    calendar的常用方法:

    获取时间:
    import java.util.Calendar;
    
    public class Demo01 {
        public static void main(String[] args) {
            Calendar cal = Calendar.getInstance();
            System.out.println("年:"+cal.get(Calendar.YEAR));//获取年
            System.out.println("月:"+(cal.get(Calendar.MONTH)+1));
            //获取月,获取月份时实际输出要+1,因为月份的下标是从0开始的。
            System.out.println("日:"+cal.get(Calendar.DAY_OF_MONTH));//获取日
            System.out.println("时:"+cal.get(Calendar.HOUR_OF_DAY));//获取时
            System.out.println("分:"+cal.get(Calendar.MINUTE));//获取分
            System.out.println("秒:"+cal.get(Calendar.SECOND));//获取秒
        }
    }
    
    设置时间格式:

    利用SimpleDateFormat类格式化时间

    例:

    import java.text.SimpleDateFormat;
    import java.util.Date;
    
    public class Demo01 {
        public static void main(String[] args) {
            //通过带参构造器手动输入时间
            Date d = new Date(11111111111300L);
            //利用SimpleDateFormat设置格式
            SimpleDateFormat sd = new SimpleDateFormat("yyyy/MM/dd hh:mm:ss");
            //将格式化后的时间转为Sring
            String str = sd.format(d);
            //输出结果
            System.out.println(str);
        }
    }
    
    //运行结果为:2322/02/06 03:45:11
    
    add和roll:

    roll方法只是对相应时间属性的域内做变化。

    例:对月份使用roll方法,它只会在1-12的范围内变化,不会影响到年。

    格式:roll(int field, int amount),amount的值加到field上去,不会更改更大的日历属性。

    add方法则会产生其他相关时间属性的联动变化。
    例:对月份使用add方法,12月份加1之后,年份会增加1。

    格式:add(int field, int amount),amount的值加到field上去,跟据日历的规则,会导致更大日历属性的改变。

    案例:

    import java.util.Calendar;
    
    public class Demo{
        public static void main(String[] args) {
            //创建一个对象
            Calendar c =  Calendar.getInstance();
            //输出当前的月份和年,因为电脑显示的月份数比实际数少1,所有要加1.
            System.out.println(c.get(Calendar.MONTH)+1);
            System.out.println(c.get(Calendar.YEAR));
            //使用add方法后,月份加12,结果为年份增加1年。
            c.add(Calendar.MONTH, 12);
            System.out.println(c.get(Calendar.MONTH)+1);
            System.out.println(c.get(Calendar.YEAR));
            //使用roll方法后,月份加12,年份不会发生改变,只是月份加1。
            c.roll(Calendar.MONTH, 13);
            System.out.println(c.get(Calendar.MONTH)+1);
            System.out.println(c.get(Calendar.YEAR));
            //使用add方法后,月份加12,结果为年份再次增加1年。
            c.add(Calendar.MONTH, 12);
            System.out.println(c.get(Calendar.MONTH)+1);
            System.out.println(c.get(Calendar.YEAR));
        }
    }
    

    相关文章

      网友评论

          本文标题:Calendar类

          本文链接:https://www.haomeiwen.com/subject/utjjrctx.html