`

java的Calendar及GregorianCalendar学习笔记

    博客分类:
  • java
阅读更多
学习Calendar 我觉得Calendar是比较难用的一个类,这个坑估计要慢慢填,先写这么一点。以后会继续补充。

首先需要注意两点:第一,Calendar的month是从0开始算的,亦即0到11。第二,DAY_OF_WEEK返回的星期数是从星期日开始算,而它第一个是1,即星期日返回1、星期一返回2,依此类推。

其次,弄清楚,set和get方法
Calendar cal = Calendar.getInstance();
cal.get(Calendar.Day_OF_MONTH);

//这个是得到cal的这个日历对象的当前某天在这个月中是第几天。是第一天就返回1,是第二天就返回2.依此类推。DAY_OF_WEEK是同样用法。

那如何得到cal这个日历对象的当前月的天数呢?
cal.getActualMaximum(Calendar.DAY_OF_MONTH);


第二、我们来看Calendar的一个子类,GregorianCalendar
我们对照一个程序进行下分析:
public String browse() throws Exception {
        Calendar cal = GregorianCalendar.getInstance();
        now = cal.getTime();
        cal.roll(Calendar.DATE, -1);
        cal.roll(Calendar.HOUR, -3);
        past = cal.getTime();
        cal.roll(Calendar.DATE, 2);
        future = cal.getTime();

        cal.roll(Calendar.YEAR, -1);
        before = cal.getTime();

        cal.roll(Calendar.YEAR, 2);
        after = cal.getTime();
        return SUCCESS;
    }

这里首先得到格里高利日历的实例,然后通过roll这个方法
引用
向指定日历字段添加有符号的时间量,不更改更大的字段。
分享到:
评论

相关推荐

    良葛格Java JDK 5.0学习笔记

    最后,JDK 5.0对日期和时间API进行了优化,虽然真正的改进是在Java 8的java.time包中,但Java 5已经开始了这个进程,提供了一些基础的日期和时间类,如Calendar和GregorianCalendar。 良葛格的Java JDK 5.0学习笔记...

    java_util包学习笔记.doc

    学习`java.util`包不仅意味着掌握基本的日期和时间处理,还包括理解并熟练运用Java的集合框架,这是编写高效、可维护的Java代码的基础。同时,了解`java.util`中的其他类和接口,如事件处理、资源管理和I/O流,有助...

    java学习笔记2

    ### Java学习笔记2:Spring框架基础 #### 一、Spring框架简介 Spring 是一个开源的轻量级 Java 开发框架,旨在简化企业级应用程序的开发。它提供了许多强大的功能,如依赖注入(Dependency Injection, DI)、面向...

    java 编写的与农历共显的日历

    通过实例化`GregorianCalendar`(公历)和可能的自定义`Calendar`子类(农历),程序可以实现公历和农历的显示。 2. **日期和时间转换**: 在Java中,转换农历和公历涉及到复杂的算法,因为两种日历系统的计算规则...

    Java笔记PDF版含图片

    ### Java核心知识点详解 #### 一、Java的基本特性与...以上是基于提供的部分Java笔记内容进行的详细总结和解释,涵盖了Java的基本概念、语法特性以及面向对象编程的核心思想等多个方面,希望对你学习Java有所帮助。

    javaapi合集

    日期时间类如Date和Calendar帮助处理日期和时间,而GregorianCalendar则实现了公历。 `java.net`包提供了网络通信的支持,如Socket和ServerSocket用于创建客户端和服务器端的套接字,URL和URLConnection用于访问...

Global site tag (gtag.js) - Google Analytics