• Java calendar类学习笔记


    Java Calendar类

    calendar类是abstract类,实际使用时实现特定的子类对象

    创建一个代表当前日期的Calendar对象

    Calendar ss=Calendar.getlnstance();

    Calendar 类对象字段类型

    Calendar类能够很好的实现在项目中需要用到的对时间的处理


    //根据当前语言地区环境获取一个日历对象

    Calendar c = Calendar.getlnstance();

    System.out.println(c);

    System.out.println("获取年份:"+c.get(Calendar.YEAR));

    System.out.println("获取月份:"+(c.get(Calendar.MONTH)+1);//月份0~11

    System.out.println("获取日期(今天是该月的第几天):"+c.get(Calendar.DAY_OF_MONTH));

    System.out.println("获取小时数(12小时制):"+c.get(Calendar.HOUR));

    System.out.println("获取小时数(24小时制):"+c.get(Calendar.HOUR_OF_DAY));

    System.out,println("获取分钟数:"+c.get(Calendar.MINUTE));

    System.out.println("获取秒钟数:"+c.get(Calendar.SECOND));

    System.out.println("获取毫秒数:"+c.get(Calendar.MILLISECOND));

    System.out.println("获取当前是该年中的第几天:"+c.get(Calendar.DAY_OF_YEAR));

    System.out.println("获取今天是周几:"+c.get(Calendar.DAY_OF_WEEK));

    //如何获取今年的总天数

    System.out.println(c.getActualMaximum(Calendar.DAY_OF_YEAR));

    //获取当前日历表示的该月份的最大天数

    System.out.println(c.getActualMaximum(Calendar.DAY_OF_MONTH));

    //将日期设置到这个月的一天

    c.set(Calendar.DAY_OF_MONTH,1);

    Calendar常量(field)的作用

    Calendar cal = Calendar.getInstance();
    cal.get(Calendar.DATE);//-----------------------当天 1-31
    cal.get(Calendar.DAY_OF_MONTH);//---------------当天 1-31
    cal.get(Calendar.DAY_OF_WEEK);//----------------从星期天开始计算,如果今天星期二,那么返回3
    cal.get(Calendar.DAY_OF_YEAR);//----------------
    cal.get(Calendar.HOUR);//-----------------------12小时制
    cal.get(Calendar.HOUR_OF_DAY);//----------------24小时制,一般使用这个属性赋值
    cal.get(Calendar.MILLISECOND);//----------------
    cal.get(Calendar.MINUTE);//---------------------
    cal.get(Calendar.SECOND);//---------------------
    cal.get(Calendar.WEEK_OF_MONTH);//--------------
    cal.get(Calendar.WEEK_OF_YEAR);//---------------
    cal.get(Calendar.MONTH);//-----------------------月份获取需要 +1,那么,赋值时需要 -1


    我们用这些常量进行赋值,也可以说是可以通过它获取值同样可以通过它进行对应赋值

    主要赋值语句

    cal.set(Calendar.XXX, VVVV);//--------------------- 对以上每个字段(field)进行赋值,代码重复较大
    cal.set(year,month,date,hour,minute,second);//----- 分别对字段(field)进行赋值,效率高

    赋值时,week与month需注意,week需要指定setFirstDayOfWeek,然而,月份则需要加减1。赋值时,我们一般采用年,月,日,时,分,秒。

    主要计算

    cal1.roll(Calendar.MONTH,3);//---------------------- 一般不使用,原因是该方法只在一个月里面循环计算,其大小不会超过该月最值
    cal1.add(Calendar.YEAR,-1);//----------------------- 使用 XX_OF_XX 的field进行加减计算效果更佳,而且计算准确
    cal1.add(field,value);//----------------------------

    cal.roll(Calendar.DAY_OF_MONTH, 32);虽然32已经超出了最大的可能31,但是cal实际是不会超出该月的,而是把32减去该月天数之后,重新计算剩下的天数;

    cal1.add(Calendar.MONTH, 1); 如果当前为8-31,那么,加一个月的话就是9-30,这个才是真正的准确。

  • 相关阅读:
    iOS 开发之粒子效果
    ios 中使用SBJson拼接和解析json
    iphone document 图片存储和读取
    ios项目绕过证书访问https程序
    我应该直接学Swift还是Objective-C?
    iOS中使用 Reachability 检测网络
    iOS App性能优化
    iOS中的堆(heap)和栈(stack)的理解
    iOS中引用计数内存管理机制分析
    iOS多线程编程Part 3/3
  • 原文地址:https://www.cnblogs.com/Ytcstrive/p/13383180.html
Copyright © 2020-2023  润新知