Java中Calendar类的介绍及使用

发布时间:2024-12-17 17:44

化妆刷的种类及其用途介绍 #生活知识# #生活小知识# #化妆技巧与美容# #化妆品选择指南#

最新推荐文章于 2024-10-03 23:56:39 发布

小小平不平凡 于 2020-05-15 23:24:49 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

介绍

Calendar类是日历类,提供操作日历字段的方法

知识点1:获取Calendar对象的方法

想得到一个Calendar类对象的话,不能采用new对象的方式。因为Calendar类的构造函数被protected修饰符修饰

protected Calendar() { this(TimeZone.getDefaultRef(), Locale.getDefault(Locale.Category.FORMAT)); sharedZone = true; } 12345

正确获取Calendar对象的方法是:

Calendar calBegin = Calendar.getInstance(); 1 知识点2:相关日历字段

在这里插入图片描述
注意:
(1)AM_PM 返回0表示上午,返回1则表示是下午
(2)国外月份是0~11月,因此需要将得到的月份进行+1操作

知识点3:常用的方法 public Date getTime() :得到当前日历时间,返回Date类型时间public void setTime(Date date) :使用给定的Date设置日历时间abstract void add(int field,int amount) :按照日历的规则,给指定字段添加或减少时间量。当amount为负数时代表减少指定的时间量public void set(int field, int value):给日历类的指定字段赋值

Calendar calendar = Calendar.getInstance(); calendar.set(calendar.get(Calendar.YEAR), calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), 0, 0, 0); 12 public int get(int field):返回给定日历字段的值 实际应用

一、获取近一个月每一天日期的数组

static List<String> dateListOfNearlyAMonth = new ArrayList<>(); static SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); static Date endDate = null; static Date startDate = null; // 根据给出的开始日期和结束日期,得到这段时间内每一天的具体日期 public static List<String> findDates(Date dBegin, Date dEnd){ List<String> lDate = new ArrayList(); lDate.add(format.format(dBegin)); Calendar calBegin = Calendar.getInstance(); calBegin.setTime(dBegin); Calendar calEnd = Calendar.getInstance(); calEnd.setTime(dEnd); // 测试此日期是否在指定日期之后 while (dEnd.after(calBegin.getTime())) { System.out.println("count: " + count); calBegin.add(Calendar.DAY_OF_MONTH, 1); String tempDate = format.format(calBegin.getTime()); lDate.add(tempDate); } return lDate; } // 获取当前日期,以及一个月前的日期 public static void getDateListOfNearlyAMonth() throws Exception{ String currDate = format.format(new Date()); endDate = format.parse(currDate); System.out.println("今天日期:" + currDate + ' ' + endDate); //过去一月 Calendar c = Calendar.getInstance(); c.setTime(new Date()); c.add(Calendar.MONTH,-1); Date m = c.getTime(); String monDate = format.format(m); startDate = format.parse(monDate); System.out.println("过去一个月:" + monDate + " " + startDate); dateListOfNearlyAMonth = findDates(startDate, endDate); System.out.println("dateListOfNearlyAMonth len: " + dateListOfNearlyAMonth.size()); }

123456789101112131415161718192021222324252627282930313233343536373839

二、获取过去七天、过去一月、过去三个月、过去一年的日期

SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd"); System.out.println("今天日期:" + format.format(new Date())); Calendar c = Calendar.getInstance(); //过去七天 c.setTime(new Date()); c.add(Calendar.DATE, -7); Date d = c.getTime(); String day = format.format(d); System.out.println("过去七天:"+day); //过去一月 c.setTime(new Date()); c.add(Calendar.MONTH,-1); Date m = c.getTime(); String mon = format.format(m); System.out.println("过去一个月:"+mon); //过去三个月 c.setTime(new Date()); c.add(Calendar.MONTH,-3); Date m3 = c.getTime(); String mon3 = format.format(m3); System.out.println("过去三个月:"+mon3); //过去一年 c.setTime(new Date()); c.add(Calendar.YEAR,-1); Date y = c.getTime(); String year = format.format(y); System.out.println("过去一年:"+year);

12345678910111213141516171819202122232425262728293031

网址:Java中Calendar类的介绍及使用 https://www.yuejiaxmz.com/news/view/500915

相关内容

Java Calendar详解
【小项目】微信定时推送天气预报Github项目使用及原理介绍
java.util.Objects.isNull vs object == null 之Objects类的介绍
推荐开源项目:calendar
My Calendar下载
时间日志(Time Log)工具介绍及下载
java 日期函数(笔记)
基于Java+SpringBoot+Vue+HTML5垃圾分类网站(源码+LW+调试文档+讲解等)/垃圾分类/环保网站/绿色生活/可回收垃圾/不可回收垃圾/垃圾处理/环保知识/环保意识/环保行动
厨具的使用方法及禁忌介绍
开源日历应用:Calendar —— 简约而不简单的桌面时间管理伙伴

随便看看