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,这个才是真正的准确。

java calendar赋值_Java calendar类学习笔记相关推荐

  1. java存入光盘_java 这是 学习笔记(jdk7)书中的光盘里的源码,不知大家需要不,里面都是新手 的好 Develop 238万源代码下载- www.pudn.com...

    文件名称: java下载 收藏√  [ 5  4  3  2  1 ] 开发工具: Java 文件大小: 1272 KB 上传时间: 2013-04-01 下载次数: 18 提 供 者: 孙鹏启 详细 ...

  2. Java智能卡 技术_java智能卡APDU学习笔记

    因项目需要,利用APDU通信协议在ME手机端和卡端进行通讯.在实践的过程中遇到一些问题,先记录如下. APDU协议,即是智能卡与读写器间的应用层协议,在ISO7816-4[7]中定义了该协议的结构格式 ...

  3. Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25

    Effective Java(第三版) 学习笔记 - 第四章 类和接口 Rule20~Rule25 目录 Rule20 接口优于抽象类 Rule21 为后代设计接口 Rule22 接口只用于定义类型 ...

  4. Unity API常用方法和类学习笔记2

    Unity API常用方法和类学习笔记2 ------Mathf & Input & Vector & Random 类Mathf 一.静态变量 print(Mathf.Deg ...

  5. Unity API常用方法和类学习笔记1

    Unity API常用方法和类学习笔记1 ------主要构架(Unity-Engine.GameObject.Component) 事件 一.事件执行顺序 二.测试代码 using System.C ...

  6. QIODevice 类学习笔记

    QIODevice 类学习笔记 Isaaccwoo 2015年12月10日 一.       简介 QIODevice用于对输入输出设备进行管理.输入设备有两种类型,一种是随机访问设备(Random- ...

  7. QFrame类学习笔记

    QFrame类学习笔记 参考:https://wenku.baidu.com/view/759c1af565ce050877321322.html https://doc.qt.io/qt-5/qfr ...

  8. java calendar赋值_Java常用日期操作

    //日期转字符串,根据需要调整格式 @Testpublic voidDateToString(){ Date currentTime= newDate(); SimpleDateFormat form ...

  9. java日历教程_JAVA Calendar方法使用基础教程详解

    究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别在哪呢? 比如有: 月份的定义 – 阳`(公)历 一年12 个月,每个月的 ...

最新文章

  1. 一起来看看java正则表达式
  2. 编写java程序的三步骤_帮助Java小白涨知识的教程(三)(运行HelloWorld程序)
  3. jzoj3189-解密【字符串hash】
  4. python多线程编程(7):线程间通信
  5. (数据科学学习手札03)Python与R在随机数生成上的异同
  6. java8收集器,Java 8中的收集器collectionAndThen()方法
  7. POJ 3624 Charm Bracelet 0-1背包
  8. CSS 实现必填项前/后添加红色星号
  9. vs基于控制台应用程序的定时发送邮件_.NET Core 下收发邮件之 MailKit
  10. org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
  11. 一步一步写算法(之通用算法的编写)
  12. 单调队列:temperature
  13. 1筐鸡蛋1个1个拿 php,1个1个拿正好拿完 9个9个拿正好拿完(求答案 ? 一筐鸡蛋: 1个1个拿,正好拿完。 2个2个拿,还剩1个。)...
  14. 软件测试判定表测试用例,黑盒测试用例设计方法之判定表法
  15. 野生葫芦娃用心写的nodejs 内置模块------文件操作
  16. yarn : 无法加载文件 C:\Users\HYGK\AppData\Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsof
  17. Android二維碼掃描
  18. 【雷达通信】滤波及数据融合【滤波包括了常增益滤波、卡尔曼(Kalman)滤波和扩展卡尔曼滤波(EKF) 数据融合采用BC和CC两种,基于KF和EKF实现】(Matlab代码实现)
  19. 用python的turtle模块给女票画个小心心
  20. 京东第一位博士后出站 看看他研究的是什么“黑科技”

热门文章

  1. 通过录屏自动测试web端查询功能_海豚 Web UI自动化测试工具
  2. IBM 3650 M4服务器问题总结
  3. 表单form提交前弹出确认对话框
  4. 佛经典籍,奇文共欣赏
  5. sql dateadd函数_DATEADD SQL函数简介和概述
  6. Python全栈开发(一)——环境搭建和入门
  7. Beauty is in the eye of beholder
  8. Java网络编程详解——网络基础知识介绍、IP和端口介绍、URL和URLConnection介绍
  9. 探探宣布完成D轮7000万美元融资 元生资本等领投
  10. 快速推广拼车小程序的方法,及盈利模式。