文档章节

日历类Calendar类的用法

0o清风徐来o0
 0o清风徐来o0
发布于 2012/12/25 16:05
字数 642
阅读 423
收藏 2

行业解决方案、产品招募中!想赚钱就来传!>>>

我们可以用Date类来创建和格式化一个日期对象,但是我们如何才能设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟?我们又如何在日期德这些部分加上或者是减去值呢?答案是使用Calendar类

1、Calendar有个子类GregorianCalendar

    它的功能非常强大。首先我们创建一个日历对 象。如:Calendar date = new GregorianCalendar();使用 date.getTime();方法可以获 得当前系统时间,返回表示时间值的Date。new GregorianCalendar()构造方法里面也可 以加入参数,如:new  GregorianCalendar(2000,month,day),获得给定时间的对象。

2、Calendar类有些字段比较有用
         DATE 指示一个月中的某天。
         DAY_OF_MONTH  指示一个月中的某天。
         DAY_OF_WEEK 指示一个星期中的某天。 
         DAY_OF_WEEK_IN_MONTH 指示当前月中的第几个星期。 
         DAY_OF_YEAR 指示当前年中的天数。

3、getActualMaximum();setActualMinimum();getMaximum();setMinimum();

       getActualMaximum()表示取得指定实际的日历字段的最大值,而getMaximum()表示取得指 定日历字段的最大值,如:日历字段是4月,那前者返回30,后者则返回31

 4、日期比较

        如:Calendar xmas = new GregorianCalendar(1998, Calendar.DECEMBER, 25);
        Calendar newyears = new GregorianCalendar(1999, Calendar.JANUARY, 1);
        如果xmas表示的日期在newyears之后,则b为true,反之false 
        boolean b = xmas.after(newyears); 
        如果xmas表示的日期在newyears之前,则b为true,反之false 
        b = xmas.before(newyears);  

5、年龄判断

        Calendar dateOfBirth = new GregorianCalendar(1972, Calendar.JANUARY, 27);
        建立当前日期的日历对象
        Calendar today = Calendar.getInstance();
        当前日期年份减去出生日期的年份
        int age = today.get(Calendar.YEAR) – dateOfBirth.get(Calendar.YEAR);
        出生日期的年份加上与当前日期年份的差数
        dateOfBirth.add(Calendar.YEAR, age);
        判断上面得出结果如果在当前日期之前,则age减1得到实际年龄,否则age就为实际年龄
        if (today.before(dateOfBirth)) 
        age—;

6、判断是否为闰年

        因为isleapYear()方法并不是继承Calendar类的方法,所以不能使用Calendar类作为声明
        GregorianCalendar cal = new GregorianCalendar();
        boolean b = cal.isLeapYear(1998); // false
        b = cal.isLeapYear(2000);         // true       

7、Calendar类里月份是从0开始的,即0表示1月,1表示2月,以次类推。 

        一周中第一天是 星期天,即1表示星期天,2表示星期一,以次类推。

8、add()方法
        add(int field,int amount);在指定的日历字段的基础上加上amount;如果现在是1月31 号,在month字段上+1,将得到2月28号,如果是闰年则为2月29日,他会对最大值做调整.

0o清风徐来o0
粉丝 7
博文 86
码字总数 29134
作品 0
大连
程序员
私信 提问
加载中
请先登录后再评论。
访问安全控制解决方案

本文是《轻量级 Java Web 框架架构设计》的系列博文。 今天想和大家简单的分享一下,在 Smart 中是如何做到访问安全控制的。也就是说,当没有登录或 Session 过期时所做的操作,会自动退回到...

黄勇
2013/11/03
3.3K
6
浅入浅出Android(003):使用TextView类构造文本控件

基础: TextView是无法供编辑的。 当我们新建一个项目MyTextView时候,默认的布局(/res/layout/activity_main.xml)中已经有了一个TextView: <TextView 运行效果如下: 修改其文本内容...

樂天
2014/03/22
580
1
极速博客引擎--Gor

gor 是使用 golang 实现的类Ruhoh静态博客引擎(Ruhoh like),基本兼容ruhoh 1.x规范. 相当于与ruhoh的官方实现(ruby实现), 有以下优点: 速度完胜 -- 编译wendal.net近200篇博客,仅需要1秒 安装...

wendal
2013/01/20
3.8K
0
TDD的测试框架--Machine.Specification

Machine.Specification 是一个 TDD 测试驱动开发的测试框架,简化了测试,无需关心语言本身特性。 Machine.Specifications 带来的好处是不需要在代码里有注释,但同时阅读代码的人可以一目了...

匿名
2013/01/22
1K
0
Javascript图元绘制库--ternlight

基于HTML CANVAS API的Javascript库,提供在HTML页面上绘制图元——如流程图的能力。 目前已支持简单的矩形图元和图元间的连线(直线、直角连线两种),拖拽图元等能力。 该javascript librar...

fancimage1
2013/02/07
6.1K
1

没有更多内容

加载失败,请刷新页面

加载更多

IntelliJ IDEA简介及jetbrains-agent安装教程

IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、J...

osc_mxz6aybo
17分钟前
13
0
Arraylist翻译分析

public class ArrayList<E> extends AbstractList<E> implements List<E>, RandomAccess, Cloneable, java.io.Serializable { //序列号UID,代表版本,私有的静态常量 private static final......

osc_bgpugm2v
18分钟前
0
0
深入分析序列化和反序列化原理,终于知道serialVersionUID到底有什么用了

深入序列化和反序列化原理 一个问题引发的思考 什么是序列化和反序列化 为什么需要序列化 序列化的方式 Java序列化 serialVersionUID的作用 serialVersionUID的两种表现形式 Transient关键字...

osc_sw1y4qdg
19分钟前
0
0
039. Nginx 负载均衡

1. 基于反向代理的功能,Nginx 作为负载均衡主要有以下几点理由: 高并发连接。 采用 epoll nio 的形式。 内存消耗少。 使用了大量自带的数据结构(自己设计的)。 数据拷贝采用类零拷贝的形式...

华夏紫穹
20分钟前
12
0
线程的基本概念和线程的使用方法

线程的基本概念 很多人会对程序、进程和线程之间理解比较含糊,在此先给出三者的概念: 程序:是一个指令的集合,意思就是我们为了完成特定的功能而编写的代码。 进程:是指程序的一次静态态执...

osc_t46alvdj
20分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部