Calendar类使用

article/2025/9/21 14:03:03

标题

  • Calendar类的成员方法
  • 时间单位字段:
  • 正确返回想要日期当天星期几?

在这里插入图片描述

Calendar类的成员方法

使用默认时区和区域设置获取日历。通过该方法生成Calendar对象。如下所示:Calendar cr=Calendar.getInstance();

项目调用方法
设置日历的年、月、日、时、分、秒public void set(int year,int month,int date,int hourofday,int minute,int second)
返回给定日历字段的值。所谓字段就是年、月、日等等public int get(int field)
使用给定的Date设置此日历的时间。Date------Calendarpublic void setTime(Date date)
返回一个Date表示此日历的时间。Calendar-----Datepublic Date getTime()
按照日历的规则,给指定字段添加或减少时间量。abstract void add(int field,int amount)
以毫秒为单位返回该日历的时间值。public long getTimeInMillies()

时间单位字段:

时间字段含义
YEAR
MONTH
DATE
DAY_OF_MONTH日(跟上面一样)
HOUR_OF_DAY 时
MINUTE
SECOND/MILLISECOND秒/毫秒
DAY_OF_WEEK周几
DAY_OF_WEEK_IN_MONTH某月中第几周
YWEEK_OF_MONTH日历式的第几周
DAY_OF_YEAR一年的第多少天
WEEK_OF_YEAR一年的第多少周
AM_PM返回1则表示是下午,返回0表示上午
注意:month是从0开始的,而月份是从1开始的,所以month需要加1
(所以在获取系统当前月的时候你需要得到month后加1 但是你要是掉set方法设置想要日期的时候month的值要减去1 或者得到month后不采取加1操作)
注意:DAY_OF_WEEK
//获取周几(返回1也就是我们所谓的星期天,返回7是星期六)
import java.util.Calendar;public class Test {public static void main(String[] args) {// 其日历字段已由当前日期和时间初始化:Calendar rightNow = Calendar.getInstance(); // 子类对象rightNow.set(2021,9,16,14,33);//这里可设置想要年份的信息(注意月份减去1 此日期含义:2021年10月16日14时33分)// 获取年int year = rightNow.get(Calendar.YEAR);// 获取月int month = rightNow.get(Calendar.MONTH);// 获取日int date = rightNow.get(Calendar.DATE);//获取几点int hour = rightNow.get(Calendar.HOUR_OF_DAY);//获取几分int min = rightNow.get(Calendar.MINUTE);//获取秒数int second = rightNow.get(Calendar.SECOND);//获取上午下午int ap = rightNow.get(Calendar.AM_PM);if (ap== 1) {System.out.println("下午");}else {System.out.println("上午");}System.out.println(year + "年" + (month + 1) + "月" + date + "日" + hour + "时" + min + "分" + second + "秒");System.out.println(rightNow.get(Calendar.WEEK_OF_YEAR));//按照日历的规则,给指定字段添加或减少时间量。rightNow.add(Calendar.YEAR, 5);//往后加5年rightNow.add(Calendar.DATE, -10);//日期往前退10天int year1 = rightNow.get(Calendar.YEAR);int date1 = rightNow.get(Calendar.DATE);System.out.println(year1 + "年" + (month + 1) + "月" + date1 + "日" + hour + "时");}//返回的是周几,而不是一周的第几天(返回1也就是我们所谓的星期天,返回7是星期六)System.out.println("======"+rightNow.get(Calendar.DAY_OF_WEEK));//这个月的第几周[1-7]、[8-14]、[15-21]、[22-28]、[29-30/31] //7的倍数	System.out.println("======"+rightNow.get(Calendar.DAY_OF_WEEK_IN_MONTH));}

在这里插入图片描述
在这里插入图片描述

正确返回想要日期当天星期几?

import java.util.Calendar;public class Data {public static void main(String[] args) {Calendar now = Calendar.getInstance();//一周第一天是否为星期天//下面可以自定义日期now.set(2021,7,29);//注意月份减去1  含义 2021年8月29日boolean isFirstSunday = (now.getFirstDayOfWeek() == Calendar.SUNDAY);//获取周几int weekDay = now.get(Calendar.DAY_OF_WEEK);//若一周第一天为星期天,则-1if (isFirstSunday) {weekDay = weekDay - 1;if (weekDay == 0) {weekDay = 7;}}System.out.println(weekDay);}
}

获取当前时间的上月初上月末日期

    public static void main(String[] args) {SimpleDateFormat format0 = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss:SSS");//===================月初Calendar c = Calendar.getInstance();c.add(Calendar.MONTH, -1);// c.set(Calendar.MONTH, 5 - 1);//设置为1号,当前日期既为本月第一天c.set(Calendar.DAY_OF_MONTH, 1);//将小时至0c.set(Calendar.HOUR_OF_DAY, 0);//将分钟至0c.set(Calendar.MINUTE, 0);//将秒至0c.set(Calendar.SECOND, 0);//将毫秒至0c.set(Calendar.MILLISECOND, 0);String first = format0.format(c.getTime());System.out.println(first);//2022-05-01 00:00:00:000//===================月末Calendar ca = Calendar.getInstance();ca.add(Calendar.MONTH, -1);//ca.set(Calendar.MONTH, 5 - 1);ca.set(Calendar.DAY_OF_MONTH, ca.getActualMaximum(Calendar.DAY_OF_MONTH));//将小时至23ca.set(Calendar.HOUR_OF_DAY, 23);//将分钟至59ca.set(Calendar.MINUTE, 59);//将秒至59ca.set(Calendar.SECOND, 59);//将毫秒至999ca.set(Calendar.MILLISECOND, 999);String date12 = format0.format(ca.getTime());System.out.println(date12);//2022-05-31 23:59:59:999}

http://chatgpt.dhexx.cn/article/sxpNe8ik.shtml

相关文章

关于Java中的Calendar类获取月份

我们在使用Java提供的Calendar类获取月份时,一般会用到如下代码: import java.util.Calendar; import java.util.Date;public class TestCalendar {public static void main(String[] args) {Calendar c Calendar.getInstance();c.setTime(new Date());…

Calendar类set()方法的“陷阱”

2023年6月5日更新:我看还有开发同志在用Calendar,我想目前大部分项目jdk一般使用的都是JDK8及以上了,而且JDK11和17市场份额好像在爆发,其实更建议使用 JDK8提供的日期时间API(LocalDate和LocalDateTime)&a…

日历Calendar类

Candendar类是一个抽象类,提供了一些获取当前时间,或者指定的时间的字段和一些方法,我们可以通过一些方法与字段对他进行获取当前天或者当月的一些信息。 创建一个Candendar对象 我们都知道创建一个类的对象最简单的方法是从他的构造方法入…

Java—java.util.calendar类详解

目录 一、概述 二、静态常量 三、静态方法 四、实例 五、GregorianCalendar类 一、概述 java.util.Calendar类是一个抽象类,是java日期处理的核心类之一。Calendar类为操作日历字段,及其与特定瞬间之间的转换提供了方法。日历字段包含YEAR、MONTH、…

Java学习笔记——Calendar类

Java中的日期类主要包括:Date类和Calendar类,本文中将对Calendar类进行讲解。 一、Calendar类的简介 Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,只需要使用getInstance方法创建即可。 二、Calendar类中的常用字…

Calendar类

目录 一、Calendar 类概述二、Calendar类的构造方法三、Caleadar类的基本使用四、Calendar的常用方法1.public abstract void add(int filed,int amount)2.public final void set(int year,int month,int date) 一、Calendar 类概述 Calendar常常被称为日历类 可以看出Calen…

(Java Web) 提交表单 实例讲解

传输过程 表单 to Servlet 开门见山&#xff0c;一张图解释 首先设置表单的<form action"myURL/toText" method"post"> 此处的action对应web.xml中的url-pattern web.xml中需要注册好对应的Servlet method可设置post 或者 get不设置的话默认是get 后…

微信小程序提交表单

先看效果 身份选择使用了picker 具体代码&#xff1a; form.wxml <view class"modify-form"> <form bindsubmitgetForm><view class"label-list"><view class"label">姓名</view><view class"input-b…

Html提交表单的制作

Html提交表单制作 笔记整理 1. 代码 <!-- 知识总结&#xff1a;提交表单中form必须有action属性&#xff0c;表示提交地址所有提交的数据&#xff0c;input必须具有name属性&#xff0c;才能把数据提交到指定地址input按钮的文字&#xff0c;使用value表示属性input必须放…

异步提交表单

异步提交表单 异步提交表单的步骤 所谓异步提交表单&#xff0c;就是不再使用表单的提交按钮实现表单的提交功能&#xff0c;而是通过Ajax异步交互方式实现表单提交。具体实现步骤如下: 获取表单及所有表单组件对应的数据值。将所有表单组件对应的数据值拼成特定格式的字符串…

按钮提交表单

2.3 提交表单数据 ASP.NET Framework包含三个用于向服务器端提交表单的控件&#xff1a;Button、LinkButton和ImageButton。这三个控件拥有同样的功能&#xff0c;但每种控件的外观截然不同。 本节学习如何在页面中使用这三种控件。然后&#xff0c;学习如何关联客户端脚本和服…

from 表单提交

因为是转载文章 在此标明出处&#xff0c;以前有文章是转的没标明的请谅解&#xff0c;因为有些已经无法找到出处&#xff0c;或者与其它原因。 如有冒犯请联系本人&#xff0c;或删除&#xff0c;或标明出处。 因为好的文章&#xff0c;以前只想收藏&#xff0c;但连接有时候会…

HTML_表单与提交

<!-- form 标签 action 提交地址 method 提交方式get 高效 但数据会在url中显示 且传输量小post 效率较低 但数据不在url中显示 且传输量大 --> <!--name属性作为提交数据时数据的变量名--> <!--value属性作为填充值(多种意义上)--> <!--单选框/多选框中…

form表单的提交

开发工具与关键技术&#xff1a;MVC JQuery 的 form表单的提交 一、Form表单有两个属性分别是&#xff1a;“action”和“method”: Action: 的值是URL 就是当提交表单时向某个地方&#xff08;要提交到某处的地址&#xff09;发送表单数据 Method: 的值是 get和 post 就是用来…

表单提交的方法

form表单有两种属性action与method。 action属性有一个值URL。它规定当提交表单时向何处放送表单数据&#xff0c;URL有两种值&#xff1a;一种绝对URL&#xff0c;一种相对URL。 绝对URL指向其他站点(比如 srcwww.baidu.com网址)。 相对URL指向站点内的文件(比如 src&#…

form表单提交的几种方式

表单提交方式一&#xff1a;直接利用form表单提交 html页面代码&#xff1a; <!DOCTYPE html> <html> <head> <meta charset"UTF-8" /> <title>Insert title here</title> </head> <body> <form action"ht…

extremecomponents -- 文档下载依赖使用

extremecomponents – 文档下载依赖使用 jar包下载链接: https://mvnrepository.com/artifact/org.extremecomponents/extremecomponents. https://blog.csdn.net/yu__yfchun125/article/details/7655593

extremecomponents相关大全

安装要求1、Servlet 2.3 或更高2、 JDK 1.3.1 或更高 最小的Jars需求1、commons-beanutils 1.62、commons-collections 3.03、 commons-lang 2.04、 commons-logging 1.0.45、 standard 1.0.2 PDF 导出要用到的包:1、 avalon-framework 4.02、batik 1.5-fop-0.20-53、 fop 0.2…

ExtremeComponents源码解析(一)

一、前言 因参与公司框架改造&#xff0c;在负责前端table组件选型时&#xff0c;原本选了jqGrid和Bootstraptable作为备选方案&#xff0c;评审会上&#xff0c;武哥提了EXtremeComponents&#xff0c;让我也去了解下&#xff0c;看下合不合适&#xff0c;在此机缘下&#xff…

eXtremeComponents的eXtremeTable分页特性

<script type"text/javascript"> </script> <script type"text/javascript" src"http://pagead2.googlesyndication.com/pagead/show_ads.js"> </script> eXtremeComponents的eXtremeTable是一套很好的分页标签&#xf…