Calendar

1.1 概述

Date类中很多方法被Calendar所取代,Calendar类提供了获取和设置各种日历的方法。

1.2 方法

构造方法:Calendar类的构造器被protected修饰,外界不能直接使用!

其他方法:

方法名 说明
static Calendar getInstance() 类静态方法;返回一个当前区域时间;(通过此方法构造Calendar对象)
final void set(int year, int month, int date, int hourOfDay, int minute) 修改当前的时间信息
int get(int field); 返回当前时间的某一项信息:年:1;星期几:7;......不同数字代表不同的信息
void setTime(int field,int) 将Date设置为当前日历时间 Date——Calendar
Date getTime() 将当前对象时间转为Date对象并返回 Calendar——Date
void add(int field,int) 给当前对象时间某一项信息增加或减少时间量
getActualMaximum(int field,int) 获取当前对象时间具体某一项信息的最大值;比如1月的最大值为31

将上述方法在代码中进行演示

public class Test{
public static void main(String[] args){
//通过Calendar类中的静态方法创建Calendar对象
System.out.println("=========getInstance========"); Calendar s1=Calendar.getInstance(); //打印时间
System.out.println("============getTime=========");
System.out.println(s1);//此方法打印出来的并不是我们能方便观察的时间
System.out.println(s1.getTime().toLocaleString());//通过调用getTime方法返回一个Date对象,然后再调用Date对象的toLocaleString方法来打印 //获取时间信息
System.out.println("==============get==========");
System.out.println(s1.get(1));
//上下两行代码等价
System.out.println(s1.get(Calendar.YEAR));//Calendar 提供了很多静态常量,year=1,month=2 //修改时间
System.out.println("============set=============");
s1.set(2022,11,1,20,30);//final void set(int year, int month, int date, int hourOfDay, int minute)分别加入参数即可
//这里需要注意一下,月份是从0开始的,也就是说12月份在代码里面是11
System.out.println(s1.getTime().toLocaleString()); //增加或减少时间的某一信息
System.out.println("============add=============");
s1.add(Calendar.YEAR,1);//给调用该方法的时间的年这一项增加了1
System.out.println(s1.getTime().toLocaleString()); //获取时间某一项信息的最大/小值
System.out.println("============getAutualMaximum=============");
System.out.println(s1.getAutualMaximum(Calendar.DAY_OF_MONTH));//获取当前对象时间的月份里面最大的一天是多少
System.out.println(s1.getAutualMinimum(Calendar.DAY_OF_MONTH));//获取当前对象时间的月份里面最小的一天是多少
}
}
=========getInstance========
============getTime=========
java.util.GregorianCalendar[time=1670421166199,areFieldsSet=true,areAllFieldsSet=true,lenient=true,zone=sun.util.calendar.ZoneInfo[id="Asia/Shanghai",offset=28800000,dstSavings=0,useDaylight=false,transitions=31,lastRule=null],firstDayOfWeek=1,minimalDaysInFirstWeek=1,ERA=1,YEAR=2022,MONTH=11,WEEK_OF_YEAR=50,WEEK_OF_MONTH=2,DAY_OF_MONTH=7,DAY_OF_YEAR=341,DAY_OF_WEEK=4,DAY_OF_WEEK_IN_MONTH=1,AM_PM=1,HOUR=9,HOUR_OF_DAY=21,MINUTE=52,SECOND=46,MILLISECOND=199,ZONE_OFFSET=28800000,DST_OFFSET=0]
2022-12-7 21:52:46
==============get==========
2022
2022
============set=============
2022-12-1 20:30:46
============add=============
2023-12-1 20:30:46
============getAutualMaximum=============
31
1 Process finished with exit code 0

Day34.2:Calendar详解的更多相关文章

  1. Java Calendar详解

    网上看到的一篇,码一下.侵删 一:字段和方法的信息 YEAR 字段: public static final int YEAR ; 指示年的 get 和 set 的字段数字.这是一个特定于日历的值: ...

  2. 【Java入门提高篇】Day34 Java容器类详解(十五)WeakHashMap详解

    源码详解系列均基于JDK8进行解析 说明 在Java容器详解系列文章的最后,介绍一个相对特殊的成员:WeakHashMap,从名字可以看出它是一个 Map.它的使用上跟HashMap并没有什么区别,所 ...

  3. JAVA Calendar详解(转)

    转自:http://blog.csdn.net/zerogotosum/article/details/1671314 (在文章的最后,将会介绍Date类,如果有兴趣,可以直接翻到最后去阅读) 究竟什 ...

  4. Calendar详解

    (在文章的最后,将会介绍Date类,如果有兴趣,可以直接翻到最后去阅读) 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别 ...

  5. Java 字符串格式化详解

    Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...

  6. linux查看端口及端口详解

    今天现场查看了TCP端口的占用情况,如下图   红色部分是IP,现场那边问我是不是我的程序占用了tcp的链接,,我远程登陆现场查看了一下,这种类型的tcp链接占用了400多个,,后边查了一下资料,说E ...

  7. spring定时任务详解(@Scheduled注解)( 转 李秀才的博客 )

    在springMVC里使用spring的定时任务非常的简单,如下: (一)在xml里加入task的命名空间 xmlns:task="http://www.springframework.or ...

  8. quartz配置文件详解

    quartz配置文件详解(转载)     quartz学习总结: 一.关于job:    用Quartz的行话讲,作业是一个执行任务的简单Java类.任务可以是任何Java代码.只需你实现org.qu ...

  9. SQL Server时间粒度系列----第8节位运算以及设置日历数据表节假日标志详解

    本文目录列表: 1.位运算 2.设置日历数据表节假日标志 3.总结语 4.参考清单列表   位运算   SQL Server支持的按位运算符有三个,分别为:按位与(&).按位或(|).按位异或 ...

  10. Dialog详解(包括进度条、PopupWindow、自定义view、自定义样式的对话框)

    Dialog详解(包括进度条.PopupWindow.自定义view.自定义样式的对话框)   Android中提供了多种对话框,在实际应用中我们可能会需要修改这些已有的对话框.本实例就是从实际出发, ...

随机推荐

  1. 在k8s中将nginx.conf文件内容创建为ConfigMap挂载到pod容器中

    将nginx.conf文件内容创建为ConfigMap user nginx; worker_processes auto; error_log /var/log/nginx/error.log er ...

  2. 利用curl命令访问Kubernetes API server

    kubectl 通过访问 Kubernetes API 来执行命令.我们也可以通过对应的TLS key, 使用curl 或是 golang client做同样的事. API 请求必须使用 JSON 格 ...

  3. Intellij IDEA个人常用快捷键

    分享一下个人常用快捷键. 说明:字母排序规则遵循字母表(a->z) 快捷键 介绍 ctrl+b 快速打开当前光标处的类或方法 ctrl+d 复制当前光标所在行至下一行 ctrl+e 打开最近的文 ...

  4. JetBrains Fleet初体验,如何运行一个java项目

    序言 各位好啊,我是会编程的蜗牛,JetBrains 日前宣布其打造的下一代 IDE Fleet 正式推出公共预览版,现已开放下载.作为java开发者,对于JetBrains开发的全家桶可以说是印象深 ...

  5. MPI实现并行奇偶排序

    奇偶排序 odd-even-sort, using MPI 代码在 https://github.com/thkkk/odd-even-sort 使用 MPI 实现奇偶排序算法, 并且 MPI 进程 ...

  6. 驱动开发:内核枚举ShadowSSDT基址

    在笔者上一篇文章<驱动开发:Win10枚举完整SSDT地址表>实现了针对SSDT表的枚举功能,本章继续实现对SSSDT表的枚举,ShadowSSDT中文名影子系统服务描述表,SSSDT其主 ...

  7. logback在springBoot项目中的使用 springboot中使用日志进行持久化保存日志信息

    文章目录 1.xml文件的编写 2.实现的效果 2.1 日志保存到磁盘 2.2 控制台输出的效果 放置的位置 1.xml文件的编写 logback-spring.xml <?xml versio ...

  8. javascript编程单线程之同步模式

    javascript编程单线程之同步模式 主流的js 环境都是单线程吗模式执行js 代码, js采用为单线程的原因与最开始设计初衷有关,最早是运行在浏览器端的脚本语言,目的是为了实现页面上的动态交互, ...

  9. 1.Python面向对象基础

    面向对象(OOP) 面向对象编程--object oriented programming 简写 OOP   面向过程和面向对象的区别: 面向过程: 1.把完成某一个需求的所有步骤从头到尾逐步实现 2 ...

  10. 一键部署haproxy脚本

    HAPROXY_VERSION=2.6.6 HAPROXY_FILE=haproxy-${HAPROXY_VERSION}.tar.gz #HAPROXY_FILE=haproxy-2.2.12.ta ...