`

Java中calendar的使用

    博客分类:
  • Java
阅读更多
1. 使用calendar取上月最后一天

使用calendar.getActualMaximum(Calendar.DAY_OF_MONTH)取最大值


package com.andrew.code;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * CalendarUtil
 *
 * @author andrew
 * @date 2018/4/17.
 */
public class CalendarUtil {

    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("the last day of last month:" + sdf.format(getLastDayOfLastMonth()));
    }

    /**
     * the last day of last month
     */
    public static Date getLastDayOfLastMonth() {
        Calendar calendar = Calendar.getInstance();
        int month = calendar.get(Calendar.MONTH);
        calendar.set(Calendar.MONTH, month - 1);
        calendar.set(Calendar.DAY_OF_MONTH, calendar.getActualMaximum(Calendar.DAY_OF_MONTH));
        calendar.set(Calendar.HOUR_OF_DAY, calendar.getActualMaximum(Calendar.HOUR_OF_DAY));
        calendar.set(Calendar.MINUTE, calendar.getActualMaximum(Calendar.MINUTE));
        calendar.set(Calendar.SECOND, calendar.getActualMaximum(Calendar.SECOND));
        return calendar.getTime();
    }
}

2. 使用calendar取当月第一天

使用calendar.set(Calendar.DAY_OF_MONTH, 1);设置最小值


package com.andrew.code;

import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;

/**
 * CalendarUtil
 *
 * @author andrew
 * @date 2018/4/17.
 */
public class CalendarUtil {

    public static void main(String[] args) {
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        System.out.println("the first day of this month:" + sdf.format(getFirstDayOfThisMonth()));
    }

    /**
     * the first day of this month
     */
    public static Date getFirstDayOfThisMonth() {
        Calendar calendar = Calendar.getInstance();
        int month = calendar.get(Calendar.MONTH);
        calendar.set(Calendar.MONTH, month);
        calendar.set(Calendar.DAY_OF_MONTH, 1);
        calendar.set(Calendar.HOUR_OF_DAY, 0);
        calendar.set(Calendar.MINUTE, 0);
        calendar.set(Calendar.SECOND, 0);
        return calendar.getTime();
    }
}


补充说明

(1) 注意calender的变量
MONTH,DAY_OF_MONTH,HOUR_OF_DAY,MINUTE,SECOND
(2) 取最大值,最小值
calendar.set(Calendar.MINUTE, calendar.getActualMaximum(Calendar.MINUTE));
calendar.set(Calendar.MINUTE, 0);
分享到:
评论

相关推荐

    Java 之 Date 和 Calendar 实例

    在Java编程语言中,`Date`和`Calendar`类是处理日期和时间的核心组件。这两个类在不同的Java版本中有着不同的使用方式和功能,对于理解Java时间处理机制至关重要。本篇将深入探讨`Date`和`Calendar`类的实例应用。 ...

    java 中Calendar日期格式的转换

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

    java的calendar具体用法

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

    JAVA LunarCalendar返回农历(阴历)日期 JAR包 有包括详细DOC文档

    使用前两种构建方法时,若文本内容不为数字,getErrorMessage会返回错误信息 方法摘要 java.lang.String getErrorMessage() 返回String类型的错误信息 java.lang.String getFullInfo() 返回String类型的详细...

    java中时间类Date和Calendar的使用

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

    JavaCalendar_JAVA源码_

    JavaCalendar是Java编程语言中用于处理日期和时间的重要类,它是`java.util.Calendar`的实现。这个源码分析将深入探讨Java中日期和时间的管理,以及如何利用`Calendar`类进行相关的操作。 首先,`Calendar`类是抽象...

    Java SE程序 Calendar类

    Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类Java SE程序 Calendar类...

    Java中Calendar类.pdf

    Java中的`Calendar`类是处理日期和时间的核心类,它是一个抽象类,提供了一系列方法用于在特定瞬间与一组日历字段之间进行转换和操作。自JDK 1.1起,`Calendar`类就被推荐用来处理日期和时间,因为它的功能比`Date`...

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

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

    java_Calendar控件

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

    java中Calendar类制作日历

    在Java编程语言中,`Calendar`类是处理日期和时间的核心工具之一,它提供了一系列用于操作日期和时间的方法。然而,值得注意的是,`Calendar`类本身是一个抽象类,这意味着我们不能直接实例化它来创建一个对象。为了...

    java中Calendar类用法实例详解

    Java 中 Calendar 类用法实例详解 Java 中的 Calendar 类是一个非常重要的类,它提供了许多有用的方法和字段来处理日期和时间相关的操作。下面我们将详细介绍 Java 中 Calendar 类的用法实例。 首先,Calendar 类...

    JAVA Calendar方法详解.doc

    在Java编程语言中,`Calendar`类是一个核心的日期和时间API,它用于处理各种日历系统,而不仅仅是常见的格里高利历(Gregorian Calendar)。`Calendar`是一个抽象类,这意味着它不能直接被实例化,但是提供了`...

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

    Java中的Date和Calendar类是处理日期和时间的核心组件。Date类主要用于表示特定的瞬间,精确到毫秒。在早期版本的Java中,Date类的设计受到批评,因为它的API不直观且容易导致错误。为了解决这些问题,大部分日期和...

    JAVA源码Calendar万年历JAVA源码Calendar万年历

    JAVA源码Calendar万年历JAVA源码Calendar万年历

    JAVA Calendar,Date类详解

    在Java编程语言中,`Calendar`和`Date`类是处理日期和时间的核心组件。这两个类在处理日期、时间计算以及格式化等任务时扮演着关键角色。理解并熟练运用它们,对于提升Java开发能力至关重要。 `Date`类是Java早期...

    java日历控件Calendar 多种类型

    "jscalendar-1.0"通常包括CSS样式文件、JavaScript源码以及示例代码("demo"),便于开发者了解如何在自己的项目中使用。 使用Java日历控件Calendar时,开发者可以通过以下方法进行操作: 1. 初始化:通过Calendar...

    基于java的Calendar万年历.zip

    在"基于java的Calendar万年历.zip"这个压缩包中,我们可以期待找到一个利用Java的Calendar类实现的万年历程序。万年历通常能展示从公元前到公元后数千年的日期信息,对于开发者来说,这样的程序是一个很好的学习和...

    基于Java的Calendar万年历.zip

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

    Java Calendar类使用总结及使用实例

    Java Calendar类使用总结及使用实例 Java Calendar类是Java语言中用于处理日期和时间的类,它提供了许多方法来获取和设置日期和时间。下面是Java Calendar类的使用总结及使用实例: 1. 获取Calendar实例 Java ...

Global site tag (gtag.js) - Google Analytics