Day34.2:Calendar详解
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详解的更多相关文章
- Java Calendar详解
网上看到的一篇,码一下.侵删 一:字段和方法的信息 YEAR 字段: public static final int YEAR ; 指示年的 get 和 set 的字段数字.这是一个特定于日历的值: ...
- 【Java入门提高篇】Day34 Java容器类详解(十五)WeakHashMap详解
源码详解系列均基于JDK8进行解析 说明 在Java容器详解系列文章的最后,介绍一个相对特殊的成员:WeakHashMap,从名字可以看出它是一个 Map.它的使用上跟HashMap并没有什么区别,所 ...
- JAVA Calendar详解(转)
转自:http://blog.csdn.net/zerogotosum/article/details/1671314 (在文章的最后,将会介绍Date类,如果有兴趣,可以直接翻到最后去阅读) 究竟什 ...
- Calendar详解
(在文章的最后,将会介绍Date类,如果有兴趣,可以直接翻到最后去阅读) 究竟什么是一个 Calendar 呢?中文的翻译就是日历,那我们立刻可以想到我们生活中有阳(公)历.阴(农)历之分.它们的区别 ...
- Java 字符串格式化详解
Java 字符串格式化详解 版权声明:本文为博主原创文章,未经博主允许不得转载. 微博:厉圣杰 文中如有纰漏,欢迎大家留言指出. 在 Java 的 String 类中,可以使用 format() 方法 ...
- linux查看端口及端口详解
今天现场查看了TCP端口的占用情况,如下图 红色部分是IP,现场那边问我是不是我的程序占用了tcp的链接,,我远程登陆现场查看了一下,这种类型的tcp链接占用了400多个,,后边查了一下资料,说E ...
- spring定时任务详解(@Scheduled注解)( 转 李秀才的博客 )
在springMVC里使用spring的定时任务非常的简单,如下: (一)在xml里加入task的命名空间 xmlns:task="http://www.springframework.or ...
- quartz配置文件详解
quartz配置文件详解(转载) quartz学习总结: 一.关于job: 用Quartz的行话讲,作业是一个执行任务的简单Java类.任务可以是任何Java代码.只需你实现org.qu ...
- SQL Server时间粒度系列----第8节位运算以及设置日历数据表节假日标志详解
本文目录列表: 1.位运算 2.设置日历数据表节假日标志 3.总结语 4.参考清单列表 位运算 SQL Server支持的按位运算符有三个,分别为:按位与(&).按位或(|).按位异或 ...
- Dialog详解(包括进度条、PopupWindow、自定义view、自定义样式的对话框)
Dialog详解(包括进度条.PopupWindow.自定义view.自定义样式的对话框) Android中提供了多种对话框,在实际应用中我们可能会需要修改这些已有的对话框.本实例就是从实际出发, ...
随机推荐
- 清除已安装的rook-ceph集群
官方文档地址:https://rook.io/docs/rook/v1.8/ceph-teardown.html 如果要拆除群集并启动新群集,请注意需要清理的以下资源: rook-ceph names ...
- CentOS系统一键部署jdk,maven,tomcat,mysql
#!/bin/bash ####使用方法############### # chmod a+x JdTomK-Auto.sh # source JdTomK-Auto.sh ############# ...
- CentOS yum如何安装php7.4
centos系统下使用yum安装php7.4正式版,当前基于WLNMP提供的一键安装包来安装 1.添加epel源 yum install epel-release 2.添加WLNMP一键安装包源 rp ...
- 在 CentOS 8/RHEL 8 上安装和使用 Cockpit
Cockpit 是一个基于 Web 的服务器管理工具,可用于 CentOS 和 RHEL 系统.最近发布的 CentOS 8 和 RHEL 8,其中 cockpit 是默认的服务器管理工具.它的软件包 ...
- 编写一个应用程序,在主类Test1类中,创建两个链表List<E>对象,分别存储通过键盘输入的字符串内容
题目1:编写一个应用程序,在主类Test1类中,创建两个链表List<E>对象,分别存储通过键盘输入的字符串内容--"chen","wang",&q ...
- k8s 中的 service 如何找到绑定的 Pod 以及如何实现 Pod 负载均衡
k8s 中的 service 如何找到绑定的 Pod 以及如何实现 Pod 负载均衡 前言 endpoint kube-proxy userspace 模式 iptables ipvs kernels ...
- 微信小程序专题(一)-----微信后台的相关开发
本人最近在做微信小程序后端的相关开发工作 接触到微信小程序目前来讲需要两个条件 1.前端通过后台服务器去调用微信平台接口,来获取openid: 2.前端必须调用https 跟域名的形式 不得出现ip加 ...
- 分享个好东西 - 两行前端代码搞定bilibili链接转视频
只需要在您的要解析B站视频的页面的</body>前面加上下面两行代码即可,脚本会在客户端浏览器里解析container所匹配到的容器里的B站超链接 (如果不是外围有a标签的超链接只是纯粹的 ...
- pta第一次博客
目录 pta第一次博客 1.前言 2.设计与分析 第二次作业第二题 第三次作业第一题 第三次作业第二题 第三次作业第三题 3.踩坑心得: 4.改进建议 5.总结 pta第一次博客 1.前言 这三次pt ...
- C# 语法分析器(二)LR(0) 语法分析
系列导航 (一)语法分析介绍 (二)LR(0) 语法分析 (三)LALR 语法分析 (四)二义性文法 (五)错误恢复 (六)构造语法分析器 首先,需要介绍下 LALR 语法分析的基础:LR(0) 语法 ...