`

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 使用GregorianCalendar类获取系统的当前时间

    在Java编程语言中,`GregorianCalendar`类是用于表示日期和时间的重要工具。它是`Calendar`类的一个具体实现,能够处理公历(格里高利历)中的日期和时间。当我们需要获取系统的当前时间时,`GregorianCalendar`类...

    java API 在包java.util中有一个GregorianCalendar类,使用它可以得到一年内某个月的日历.zip

    Java API中的`java.util.GregorianCalendar`类是用于处理日期和时间的重要工具,它提供了丰富的功能来满足各种日历操作需求。这个类是基于格里高利历(公历)的,是Java中最常用的日期时间类之一。在给定的压缩包...

    JavaCalendar_JAVA源码_

    `Calendar`的子类`GregorianCalendar`是Java中最常用的实现,它基于格里高利历(公历)。在源码中,我们可以看到`GregorianCalendar`是如何处理平年和闰年的规则,以及如何根据日期和时间计算对应的瞬间值。 `...

    java的calendar具体用法

    ### Java中的Calendar类详解 #### 一、引言 在Java中处理日期和时间非常常见,而`java.util.Calendar`类则是进行此类操作的核心工具之一。`Calendar`类提供了一系列的功能来帮助开发者处理复杂的日期计算问题,...

    Java的GregorianCalendar类打印出当月的日历

    利用GregorianCalendar类实现当月日历的打印。

    Java基础之Date和Calendar类的使用方法

    在Java 8及更高版本中,引入了新的日期和时间API,如LocalDate, LocalTime, LocalDateTime和ZonedDateTime,它们提供了更加简洁和强大的日期时间操作方式。然而,对于早期版本的Java,Date和Calendar仍然是重要的...

    JAVA Calendar方法详解.doc

    `Calendar`是一个抽象类,这意味着它不能直接被实例化,但是提供了`getInstance()`静态方法来获取一个具体的日历实例,通常是`GregorianCalendar`。 `Calendar`类提供了丰富的功能,包括设置和获取日期和时间的各种...

    java 中Calendar日期格式的转换

    在Java编程语言中,`Calendar`类是处理日期和时间的核心工具之一,它提供了一种可以操作日期和时间字段(如年、月、日、时、分、秒等)的灵活方式。`Calendar`类是抽象的,因此我们通常通过其子类如`...

    良葛格Java JDK 5.0学习笔记

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

    java2核心技术学习笔记

    Java 2核心技术学习笔记主要涵盖了面向对象编程的基本概念和核心机制。以下是对这些知识点的详细说明: 1. **封装**:封装是面向对象编程的重要原则,它禁止直接访问类的实例字段,而是通过对象的方法来操作数据。...

    java中时间类Date和Calendar的使用

    Java中的时间类`Date`和`Calendar`是处理日期和时间的核心组件,它们在Java编程中扮演着重要的角色。在Java中,`Date`类主要用来表示特定的瞬间,精确到毫秒。而`Calendar`类则是一个抽象类,提供了比`Date`更灵活的...

    java_Calendar控件

    压缩包文件名“javaCalendar”可能包含了示例代码或者扩展了`Calendar`功能的库,这将有助于进一步学习和理解如何在实际项目中有效利用`Calendar`控件。如果包含的是代码示例,通过分析和运行这些示例,开发者可以更...

    java学习笔记2

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

    基于Java的Calendar万年历.zip

    在Java编程语言中,`Calendar`类是...如果`基于Java的Calendar万年历.zip`中的代码包含了一个完整的万年历应用,那么这将是一个很好的学习资源,展示了如何在实际项目中使用`Calendar`类来处理复杂的日期和时间需求。

    Java中用Calendar类计算周和周的起始日期

    Java 中用 Calendar 类计算周和周的起始日期 Java 中用 Calendar 类计算周和周的起始日期时,需要了解 Calendar 类的使用方法和日期计算的逻辑。在 Java 中,Calendar 类提供了计算周和周的起始日期的方法。 首先...

    java中的日期处理类总结:DateCalendarGregorianCalendarDateFormatSimpleDateFormat类

    ### Java中的日期处理类总结:Date、Calendar、GregorianCalendar、DateFormat、SimpleDateFormat 在Java编程中,日期时间处理是常见的需求之一。为了更好地理解和使用Java中的日期处理类,本篇文章将对Date、...

    java中Calendar类制作日历

    在Java中,`GregorianCalendar`类是`Calendar`的一个具体实现,它基于格里高利历(即公历)进行日期和时间计算。为了创建一个`GregorianCalendar`实例,我们需要指定年、月和日作为参数。例如,在上面的代码片段中,...

    java日历控件Calendar 多种类型

    在Java中,Calendar是抽象类,通常通过Calendar.getInstance()获取其子类实例,如GregorianCalendar,这是默认的日历实现,基于公历。 在Java中,日历控件通常用于用户界面中,让用户能够选择日期。然而,Java标准...

Global site tag (gtag.js) - Google Analytics