/**
Calendar 类,其主要作用于其方法可以对时间分量进行运算.
它为特定瞬间与一组诸如 YEAR、MONTH、DAY_OF_MONTH、HOUR 等日历字段之间的转换提供了一些方法,
并为操作日历字段提供了一些方法。
它是一个抽象类,其提供了一个工厂方法:Calendar getInstance()。
该方法可以根据当前系统所在地区获取一个适当的Calendar的子类实现。
主要方法:
1.void set(int field,int value)
该方法可以通过对不同的时间分量分别设置不同的值。
Calendar对不同的时间分量提供了相应的常量,我们在使用set方法设置时,第一个参数就应当使用对应的常量作为时间分量。
2.int get(int field)
该方法可以通过对不同的时间分量获取相应的值。
Calendar对不同的时间分量提供了相应的常量,我们在使用get方法获取时,参数就应当使用对应的常量作为时间分量。
3.void add(int field,int amount)
该方法可以为某个时间分量的值加上给定的值,若想减去给定的值,那么传入的值需要是负数即可.
4.setTime与getTime方法
(Calendar ---->   Date)
Calendar的void setTime(Date date),允许我们为Calendar设置Date对象所表示的时间。
(Date  ---->   Calendar)
Calendar的Date getTime(),允许我们获取一个使用Date对象描述的Calendar所表示的时间。
5.int getActualMaximum(int field)
该方法用于获取给定时间分量所允许的最大值
例如:获取当前系统时间中当月的最后一天(日所允许的最大值)
int max = calendar. getActualMaximum(Calendar.DAY_OF_MONTH);
本案例要求获取Calendar类的实例,获取实例后做如下操作:
1) 获取Calendar实例所属的实际类型,并输出。
2) 将Calendar对象转换为Date对象,并输出该Date对象。
3) 使用GregorianCalendar构建对象,该对象对应的日期为2013年12月25日,将GregorianCalendar对象转换为Date对象,并输出该Date对象。
关于Date,SimpleDateFormat,Calendar三者的配合流程
* 配合使用的大致流程与情景。
* 用户输入一个日期,然后根据一系列的计算,最后将得出的日期显示给用户
* 例如;
* 用户输入一个商品的生产日期,和保质期的天数,查看过期的日期。
* 流程:
* 1.用户输入一个日期,和其他信息
* 2.将用户输入日期(字符串)通过
* SimpleDateformat转换Date
* 3.将Date转换为Calendar
* 4.通过Calendar对时间进行一系列的计算
* 5.将计算后的Calendar表示的时间再转换为Date
* 6.将Date通过SimpleDateFormat转换为字符串
* 7.输出给用户日期结果。
*/
public class CalendarDemo1 {public static void main(String[] args) {/*本案例要求获取Calendar类的实例,获取实例后做如下操作:*/Calendar calendar = Calendar.getInstance();System.out.println(calendar.getClass().getName());/* 输出结果: java.util.GregorianCalendar* Calendar是抽象类,其具体子类针对不同国家的日历系统,* 其中应用最广泛的是GregorianCalendar(格里高里历,即通用的阳历),* 对应世界上绝大多数国家/地区使用的标准日历系统。* *///2) 将Calendar对象转换为Date对象,并输出该Date对象。
        System.out.println(calendar.getTime());//Sat Apr 30 17:57:43 GMT+08:00 2016//3) 使用GregorianCalendar构建对象,该对象对应的日期为2013年12月25日,//      将GregorianCalendar对象转换为Date对象,并输出该Date对象。/*Calendar的构造方法protected Calendar(TimeZone zone,Locale aLocale)    */GregorianCalendar c1 = new GregorianCalendar(2013,GregorianCalendar.DECEMBER,25);System.out.println(c1.getTime());    //Wed Dec 25 00:00:00 GMT+08:00 2013
    }
}

转载于:https://www.cnblogs.com/zyjcxc/p/5449073.html

CalendarDemo Calendar 类的创建及用法相关推荐

  1. python class用法_python原类、类的创建过程与方法

    [小宅按]今天为大家介绍一下python中与class 相关的知识-- 获取对象的类名 python是一门面向对象的语言,对于一切接对象的python来说,咱们有必要深入的学习与了解一些知识 首先大家 ...

  2. java中用法实例_java中Calendar类用法实例详解

    本文实例讲述了java中Calendar类用法.分享给大家供大家参考,具体如下: java中的Calendar在开发中经常被忽略,这篇博客总结一下这个类,对后面项目中使用时期的时候有帮助. Calen ...

  3. Java的calendar类用法

    YEAR  这是哪年 MONTH  这是月(从0开始) WEEK_OF_YEAR 今年的第几星期 WEEK_OF_MONTH 这个月的第几星期(从一开始) DATE  今天几号 DAY_OF_MONT ...

  4. Calendar类常用方法 日期间的转换 set方法有巨坑

           今天发现项目的工具类方法有个bug,而且还能迷惑你的bug,刚开始也是很迷惑,因为这个bug之前出现过,但是过了两天就自己好了,今天又出现了,哦对,今天是 2017年3月31日,之所 ...

  5. JAVA基础再回首(十三)——BigInteger类、BigDecimal类、Date类、DateFormat类、Calendar类

    JAVA基础再回首(十三)--BigInteger类.BigDecimal类.Date类.DateFormat类.Calendar类 版权声明:转载必须注明本文转自程序员杜鹏程的博客:http://b ...

  6. 5、时间日期的处理:Java Date类、Calendar类详解

    在 Java 中获取当前时间,可以使用 java.util.Date 类和 java.util.Calendar 类完成.其中,Date 类主要封装了系统的日期和时间的信息,Calendar 类则会根 ...

  7. Java日期相关类:Date、SimpleDateFormat和Calendar类常用API代码示例

    Date: 表示特定的瞬间,精确到毫秒,他可以通过方法来设定自己所表示的时间,可以表示任意的时间 Date类的构造方法 Date() :创建的是一个表示当前系统时间的Date对象 Date(long ...

  8. 【Java6】Date类/Calendar类,System类/Math类,包装类,集合,泛型,内部类

    文章目录 1.Date类:getTime(),SimpleDateFormat 2.Calendar类:只有子类对象才能向上转型 3.System类:System.exit(0) 4.Math类:ce ...

  9. JAVA常见类(十二)Calendar类

    Calendar类 Calendar:它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供 ...

最新文章

  1. 大卫·史文森+耶鲁模式+得意弟子张磊
  2. s3c2410下利用TL16C554扩展4个全功能串口
  3. 从数据处理到人工智能的一批计算生态
  4. Linux驱动编程 step-by-step (一)驱动程序的作用
  5. PHP中文简繁互转代码 完美支持大陆、香港、台湾及新加坡
  6. CodeForces - 858D Polycarp's phone book(字典树/map)
  7. Java Collections list()方法与示例
  8. C++学习笔记系列三
  9. Sr Software Engineer - Big Data Team
  10. PyTorch 1.0 中文官方教程:ONNX 现场演示教程
  11. ollvm源码分析之控制流扁平化(3)
  12. 关于idea,springboot启动最新版ibase4j报Unable to start ServletWebServerApplicationContext due to missing Serv
  13. 黎曼猜想能用计算机算吗,关于黎曼猜想的计算机验证
  14. win10安装Visual Studio 2019失败
  15. 2018/7/9日~年中总结
  16. Windows下批量合并文本文件
  17. CF374C Inna and Dima 题解
  18. Ac-RADADADARADADADA-NH2
  19. YOLOX的解耦头结构思考
  20. 在Ubuntu PHP中基于wxsqlite3扩展使用加密的Sqlite数据库

热门文章

  1. 线段树区间合并--询问某段区间内最长连续上升子序列即最长上升子串
  2. CSS百分比实现高度占位自适应
  3. 基于IntelliJIdea2020.3创建web项目
  4. linux7.0 端口占用,Windows 7如何处理 80端口被占用
  5. C#基础4:函数+ref和out参数
  6. Codeforces Beta Round #1:B. Spreadsheets
  7. [paper reading] DenseNet
  8. [debug] 开源项目的本地使用:使用pip安装的函数库不能被anaconda和pycharm使用+visdom使用 +路径问题
  9. Elasticsearch 监控和优化(持续)
  10. kong 网关教程入门