Calendar是一个抽象类,我们无法直接实例化它,它有一个具体子类实体类java.util.GregorianCalendar,这个类实现的就是我们日常所用的公历历法,或者叫做阳历。我们可以直接使用new命令创建它的实例,或者使用Calendar类的getInstance方法来获得它实例. 
Calendar c1 = Calendar.getInstance();   
Calendar c2 = new GregorianCalendar();   
// 参数含义依次为:年、月、日(、时、分、秒 ), 
Calendar c3 = new GregorianCalendar(2008, 8, 8, 18, 10, 5);

有两个地方需要注意:

JAVA表示的月份是从0开始的,也就是说它用来表示月份的数值总是比实际月份值小1。因此我们要表示8月份,就是应该设置8-1=7这个值。 
GregorianCalendar的小时数是24小时制的。 
为了避免出现因为忘记处理1的差值而设置了错误的月份,也让代码看起来更加直观,推荐大家使用定义在Calendar类的的这些常量来代替直接用数字表示月份: 
一月:Calendar.JANUARY = 0 
二月:Calendar.FEBRUARY = 1 
三月:Calendar.MARCH = 2 
四月:Calendar.APRIL = 3 
五月:Calendar.MAY = 4 
六月:Calendar.JUNE = 5 
七月:Calendar.JULY = 6 
八月:Calendar.AUGUST = 7 
九月:Calendar.SEPTEMBER = 8 
十月:Calendar.OCTOBER = 9 
十一月:Calendar.NOVEMBER = 10 
十二月:Calendar.DECEMBER = 11 
如果我们想要从Calendar对象获得各种属性的值,就需要调用它的get(int field)方法,这个方法接收一个int型的参数,并且根据这个给定参数的值来返回相应的属性的值。

当前时刻:2008年07月22日 13:16:07.421 
属性名称:Calendar.AM_PM 
代表含义:上下午标识,上午返回Calendar.AM=0,下午返回Calendar.PM=1 
测试结果:1 
属性名称:Calendar.DATE 
代表含义:一个月中的第几天,同Calendar.DAY_OF_MONTH 
测试结果:22 
属性名称:Calendar.DAY_OF_MONTH 
代表含义:一个月中的第几天,同Calendar.DATE 
测试结果:22 
属性名称:Calendar.DAY_OF_WEEK 
代表含义:一周中的第几天,对应星期几,第一天为星期日,于此类推。 
星期日:Calendar.SUNDAY=1 
星期一:Calendar.MONDAY=2 
星期二:Calendar.TUESDAY=3 
星期三:Calendar.WEDNESDAY=4 
星期四:Calendar.THURSDAY=5 
星期五:Calendar.FRIDAY=6 
星期六:Calendar.SATURDAY=7 
测试结果:3 
属性名称:Calendar.DAY_OF_WEEK_IN_MONTH 
代表含义:这一天所对应的星期几在该月中是第几次出现 
测试结果:4 
属性名称:Calendar.DAY_OF_YEAR 
代表含义:一年中的第几天 
测试结果:204 
属性名称:Calendar.HOUR 
代表含义:12小时制下的小时数,中午和午夜表示为0 
测试结果:1 
属性名称:Calendar.HOUR_OF_DAY 
代表含义:24小时制下的小时数,午夜表示为0 
测试结果:13 
属性名称:Calendar.MILLISECOND 
代表含义:毫秒数 
测试结果:421 
属性名称:Calendar.MINUTE 
代表含义:分钟 
测试结果:16 
属性名称:Calendar.MONTH 
代表含义:月份,从0到11表示12个月份,比实际月份值小1 
测试结果:6 
属性名称:Calendar.SECOND 
代表含义:秒 
测试结果:7 
属性名称:Calendar.WEEK_OF_MONTH 
代表含义:一个月中的第几个星期 
测试结果:4 
属性名称:Calendar.WEEK_OF_YEAR 
代表含义:一年中的第几个星期 
测试结果:30 
属性名称:Calendar.YEAR 
代表含义:年份 
测试结果:2008

java.util.Calendar简介的更多相关文章

  1. Android 开发笔记 “java.util.Calendar.compareTo()”

     java.util.Calendar.compareTo() 方法比较Calendar对象和anotherCalendar对象之间的时间值(毫秒偏移量). 声明 以下是java.util.Calen ...

  2. java.util包简介

    java.util包含集合框架.遗留的 collection 类.事件模型.日期和时间设施.国际化和各种实用工具类(字符串标记生成器.随机数生成器和位数组.日期Date类.堆栈Stack类.向量Vec ...

  3. 常用类一一时间处理相关类一一java.util.Tomezone(java.util.Calendar , java.util.Date , java.text.DateFormat)

    时间处理相关类 时间是一个一维的东东.所以,我们需要一把刻度尺来区表达和度量时间.在计算机世界,我们把1970 年 1 月 1 日 00:00:00定为基准时间,每个度量单位是毫秒(1秒的千分之一). ...

  4. java.util.Calendar

    package day14; import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer; import java.util.Cal ...

  5. java.sql.Date/ java.util.Date/ java.util.Calendar 用法与区别

    在 JDK API  这样解释," 在 JDK 1.1 之前,类 Date 有两个其他的函数.它允许把日期解释为年.月.日.小时.分钟和秒值.它也允许格式化和解析日期字符串.不过,这些函数的 ...

  6. java.util.Calendar获取时间区间问题

    虽然java8的LocalDate已经出来,但是很多项目以及自己习惯上还是使用Date,这里还是简单介绍一下如何通过java.util.Calendar获取时间区间. 1 通过calendar.get ...

  7. Java.util.Calendar类

    Java.util.Calendar类 package myProject; import java.text.SimpleDateFormat; import java.util.Calendar; ...

  8. java.util.concurrent简介

    文章目录 主要的组件 Executor ExecutorService ScheduledExecutorService Future CountDownLatch CyclicBarrier Sem ...

  9. java.util.Timer简介

    Timer是用于管理在后台执行的延迟任务或周期性任务,其中的任务使用java.util.TimerTask表示.任务的执行方式有两种: 按固定速率执行:即scheduleAtFixedRate的两个重 ...

随机推荐

  1. Java与.NET机制比较分析

    一.概述 不管是什么语言开发的web应用程序,都是在解决一个问题,那就是用户输入url怎么把对应的页面响应出来,如何通过url映射到响应的类,由于自己做asp.net的时间也不短了,还算是对asp.n ...

  2. javascript对下拉列表框(select)的操作

    <form id="f"> <select size="1" name="s"> <option value= ...

  3. 反向传播BackPropagation

    http://www.cnblogs.com/charlotte77/p/5629865.html http://www.cnblogs.com/daniel-D/archive/2013/06/03 ...

  4. Accept-Encoding 使用

    [总结] 想要获得正确网页内容,而非乱码的话,就有两种方式了: 1.不要设置Accept-Encoding的Header //req.Headers.Add("Accept-Encoding ...

  5. VUE:使用vue-cli脚手架无法安装npm install axios 的巨坑

    使用命令 npm install axios 安装axios可能会报错,无法引用, 这个时候使用淘宝的镜像cnpm安装就可以了 cnpm install axios 如果没有安装cnpm,执行以下命令 ...

  6. PHP 程序员面试常问的问题

    1. Include 与 require的区别,require和require_once的效率哪个高? Php在遇到include时就解释一次,如果页面中出现10次include,php就解释10次, ...

  7. 微软官方SqlHelper类 数据库辅助操作类

    数据库操作类真的没有必要自己去写,因为成熟的类库真的非常完善了,拿来直接用就好,省时省力. 本文就为大家介绍微软官方的程序PetShop4.0中的SqlHelper类,先来做一下简单的介绍,PetSh ...

  8. node读写Excel操作

    目支持写Excel的node.js模块: node-xlsx: 基于Node.js解析excel文件数据及生成excel文件: excel-parser: 基于Node.js解析excel文件数据,支 ...

  9. apache的ab命令做压力测试

    1. 最基本的关心两个选项 -c -n 例: ./ab -c 100 -n 10000 http://127.0.0.1/index.php -c 100 即:每次并发100个-n 10000 即: ...

  10. git登陆迁移 SourceTree 不能自动识别

    公司切换了迁移了git登陆,具体是什么 我也不是很清楚,结果就是,周一上班 好多小伙伴的git 用不了了,办公室里自然是哀嚎一片, 运维小伙伴给出的解决方案是:改个密码就好啦: 于是照做 结果Sour ...