学习笔记,仅供参考


Calendar类

Calendar类是java.util包下的一个类,使用该类时需要导包。

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEARMONTHDAY_OF_MONTHHOUR日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。

字段

字段 定义 详情
YEAR public static final int YEAR 这是一个特定于日历的值
MONTH public static final int MONTH 在格里高利历和罗马儒略历中一年中的第一个月是 JANUARY,它为 0;
WEEK_OF_YEAR public static final int WEEK_OF_YEAR 当前年中的星期数,一年中第一个星期的值为 1
WEEK_OF_MONTH public static final int WEEK_OF_MONTH 当前月中的星期数,一个月中第一个星期的值为 1
DATE public static final int DATE 一个月中的某天,一个月中第一天的值为 1,它与 DAY_OF_MONTH 是同义词
DAY_OF_MONTH public static final int DAY_OF_MONTH 一个月中的某天,它与 DATE 是同义词,一个月中第一天的值为 1。
DAY_OF_YEAR public static final int DAY_OF_YEAR 当前年中的天数,一年中第一天的值为 1。
DAY_OF_WEEK public static final int DAY_OF_WEEK 一个星期中的某天。该字段可取的值为 SUNDAY、MONDAY、TUESDAY、WEDNESDAY、THURSDAY、FRIDAY 和 SATURDAY。
DAY_OF_WEEK_IN_MONTH public static final int DAY_OF_WEEK_IN_MONTH 当前月中的第几个星期。与 DAY_OF_WEEK 字段一起使用时,就可以唯一地指定某月中的某一天。
AM_PM public static final int AM_PM 指示 HOUR 是在中午之前还是在中午之后。
例如,在 10:04:15.250 PM 这一时刻,AM_PM 为 PM。
HOUR public static final int HOUR HOUR 用于 12 小时制时钟 (0 - 11)。中午和午夜用 0 表示,不用 12 表示
HOUR_OF_DAY public static final int HOUR_OF_DAY 一天中的小时。HOUR_OF_DAY 用于 24 小时制时钟。
MINUTE public static final int MINUTE 一小时中的分钟。
SECOND public static final int SECOND 一分钟中的秒

成员方法

public static Calendar getInstance()
//使用默认时区和语言环境获得一个日历。
//返回的Calendar基于当前时间,使用了默认时区和默认语言环境。
public int get(int field)
public void add(int field,int amount)
//为给定的日历字段添加或减去指定的时间量。例如,要从当前日历时间减去5天
public final void set(int year,int month,int date)
//设置日历字段 YEAR、MONTH 和 DAY_OF_MONTH 的值。保留其他日历字段以前的值。如果不需要这样做,则先调用 clear()。
  • 举个例子1
package com.guiyang.restudy3;import java.util.Calendar;public class D8Calendar {public static void main(String[] args) {Calendar c = Calendar.getInstance();        //父类引用指向子类对象System.out.println(c);                  //重写了toString方法打印了对象中所有的属性System.out.println(c.get(Calendar.YEAR));     //通过字段获取对应的值System.out.println(c.get(Calendar.MONTH));System.out.println(c.get(Calendar.DAY_OF_YEAR));System.out.println(c.get(Calendar.DAY_OF_WEEK)); //周六为最后一天,周日为第1天}}

输出:

java.util.GregorianCalendar[time=1593223090351,areFieldsSet=true,
areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",
offset=28800000,dstSavings=0,useDaylight=false,transitions=19,
lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,
YEAR=2020,MONTH=5,WEEK_OF_YEAR=26,WEEK_OF_MONTH=4,DAY_OF_MONTH=27,
DAY_OF_YEAR=179,DAY_OF_WEEK=7,DAY_OF_WEEK_IN_MONTH=4,AM_PM=0,HOUR=9,
HOUR_OF_DAY=9,MINUTE=58,SECOND=10,MILLISECOND=351,ZONE_OFFSET=28800000,DST_OFFSET=0]
2020
5
179
7
  • 举个例子2
package com.guiyang.restudy3;import java.util.Calendar;public class D9Calender {public static void main(String[] args) {Calendar c = Calendar.getInstance();    //父类引用指向子类对象c.set(1997, 8, 28);System.out.println(c.get(Calendar.YEAR) + "年" + getNum((c.get(Calendar.MONTH)+1)) + "月" + getNum(c.get(Calendar.DAY_OF_MONTH)) + "日" + getWeek(c.get(Calendar.DAY_OF_WEEK)));c.add(Calendar.MONTH, -2);System.out.println(c.get(Calendar.YEAR) + "年" + getNum((c.get(Calendar.MONTH)+1)) + "月" + getNum(c.get(Calendar.DAY_OF_MONTH)) + "日" + getWeek(c.get(Calendar.DAY_OF_WEEK)));}public static String getWeek(int week) {String[] arr = {"","星期日","星期一","星期二","星期三","星期四","星期五","星期六"};return arr[week];}public static String getNum(int num) {return num > 9 ? "" + num : "0" + num;}
}

输出:

1997年09月28日星期日
1997年07月28日星期一

第三次学JAVA再学不好就吃翔(part74)--Calendar类相关推荐

  1. 第三次学JAVA再学不好就吃翔(part107)--字符流的拷贝

    学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流的拷贝 拷贝纯文本文件 注意事项 自定义字符数组的拷贝 IO流 字符流的拷贝 拷贝纯文本文件 zzz.txt: 安徽财经大学 JAVA代码: pa ...

  2. 第三次学JAVA再学不好就吃翔(part106)--字符流

    学习笔记,仅供参考,有错必纠 文章目录 IO流 字符流输入流FileReader 字符流是什么 FileReader类构造方法 举个例子 字符流输出流FileWriter FileWriter构造方法 ...

  3. 第三次学JAVA再学不好就吃翔(part46)--Scanner类

    学习笔记,仅供参考 文章目录 Scanner类 Scanner获取数据出现的问题 Scanner类 概述 Scanner是在java.util包下的一个类,使用该类时我们需要导包.这个类被final修 ...

  4. 第三次学JAVA再学不好就吃翔(part117)--单例设计模式

    学习笔记,仅供参考,有错必纠 文章目录 多线程 单例设计模式 饿汉式 懒汉式 第三种格式 Timer类 线程的五种状态 多线程 单例设计模式 单例设计模式,即保证类在内存中只有一个对象,如何保证类在内 ...

  5. 第三次学JAVA再学不好就吃翔(part109)--LineNumberReader类

    学习笔记,仅供参考,有错必纠 IO流 LineNumberReader类 该类继承自java.io.BufferedReader,该类可以跟踪行号的缓冲字符输入流.此类定义了方法 setLineNum ...

  6. 第三次学JAVA再学不好就吃翔(part108)--带缓冲的字符流

    学习笔记,仅供参考,有错必纠 文章目录 IO流 带缓冲的字符流 BufferedReader和BufferedWriter readLine和newLine方法 IO流 带缓冲的字符流 Buffere ...

  7. 第三次学JAVA再学不好就吃翔(part7)--基础语法之运算符

    学习笔记,仅供参考 文章目录 JAVA基础语法 运算符 算数运算符 算术运算符 ++和-- 赋值运算符 关系运算符 JAVA基础语法 运算符 什么是运算符 就是对常量和变量进行操作的符号. 运算符的分 ...

  8. 第三次学JAVA再学不好就吃翔(part115)--多线程

    学习笔记,仅供参考,有错必纠 文章目录 多线程 多线程引入 什么是线程 多线程并行和并发的区别 Java程序运行原理 多线程的实现方式 多线程实现的方式1 多线程程序实现的方式2 以上两种实现方式的区 ...

  9. 第三次学JAVA再学不好就吃翔(part113)--对象操作流

    学习笔记,仅供参考,有错必纠 对象操作流 对象操作流可以将一个对象写出, 或者读取一个对象到程序中,也就是执行了序列化和反序列化的操作. 举个例子 先构造一个Role类: package com.gu ...

最新文章

  1. linux下eclipse cdt引用函数库设置问题
  2. 如何构建一个真实的推荐系统?
  3. 对象和json相互转换
  4. 深度学习(机器学习)模型压缩开源库整理
  5. razor页面跳转_如何在Blazor中使用Razor页面创建单页应用程序
  6. python telnetlib怎么下_Python telnetlib模块使用
  7. interlib系统服务器,Interlib图书馆集群管理系统
  8. OD 手动脱壳 - UPX
  9. 51单片机中外部中断使用示例(Protues仿真)
  10. 2022年全球与中国低压配电系统市场现状及未来发展趋势
  11. endnote 文献管理软件使用教程
  12. Minecraft整合包 [GTNH]格雷科技:新视野 服务器搭建教程
  13. KingRoot换成Supersu的方法
  14. tomcat java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit异常解决
  15. YSJ_FSM状态机软件框架分析
  16. Linux文件目录操作命令-more命令
  17. 经典PID控制器的缺陷
  18. 你能活多少秒------C语言
  19. 你了解Android LMK机制么?
  20. Apache Commons 系列简介 之 CLI

热门文章

  1. 改变libreoffice的writer背景颜色
  2. 大话数据结构05: 双向链表
  3. Faster RCNN中的交替训练
  4. goudp文件传输服务器,golang udp服务端客户端例子
  5. 机器学习(十五)——loss function比较、独立成分分析
  6. 机器学习(十二)——机器学习中的矩阵方法(2)特征值和奇异值
  7. GStreamer(二)
  8. 消灭星星网页版java代码,javascript实现消灭星星小游戏简单版
  9. Oracle报错:类型长度大于最大值解决办法
  10. 忽如一夜冬风来,团队忽然就解散了