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中提供了多种对话框,在实际应用中我们可能会需要修改这些已有的对话框.本实例就是从实际出发, ...
随机推荐
- Gitlab基础知识介绍
GitLab架构图 Gitlab各组件作用 -Nginx:静态web服务器. -gitlab-shell:用于处理Git命令和修改authorized keys列表. -gitlab-workhors ...
- CentOS8本地安装Redash中文版,并且配置为生产环境
Centos8内置的Python为3.6.8版本,以下是在内置Python3.6.8基础上的安装步骤.由于安装多版本Python会导致系统底层库需要下载源码重新编译,比较麻烦,不建议在多版本Pytho ...
- C#高级特性(反射)
今天来讲解反射的应用: 一.反射是什么? 简诉一下,反射就是.Net Framework 的一个帮助类库,可以获取并使用metadata(元数据清单):说的通俗易懂点,就是不用通过引用,仍然可以使用其 ...
- 二叉树及其三种遍历方式的实现(基于Java)
二叉树概念: 二叉树是每个节点的度均不超过2的有序树,因此二叉树中每个节点的孩子只能是0,1或者2个,并且每个孩子都有左右之分. 位于左边的孩子称为左孩子,位于右边的孩子成为右孩子:以左孩子为根节点的 ...
- oneplus8手机蓝牙连接tws耳机无法双击退出语音助手
通过蓝牙协议栈我们知道,蓝牙耳机可以通过发送AT指令唤醒或者退出语音助手 唤醒语音助手: AT+BVRA=1 退出语音助手: AT+BVRA=0 但是实际操作中发现双击可以唤醒但再次双击却无法退出语音 ...
- tensorflow-gpu版本安装及深度神经网络训练与cpu版本对比
tensorflow1.0和tensorflow2.0的区别主要是1.0用的静态图 一般情况1.0已经足够,但是如果要进行深度神经网络的训练,当然还是tensorflow2.*-gpu比较快啦. 其中 ...
- 虚拟机安装Linux系统的网络配置
1. 进入配置文件配置.如果不知道ifcfg 后的内容.使用ifconfig vi /etc/sysconfig/network-scripts/ifcfg-ens33 如果不知道网关怎样配置就找到这 ...
- 我要手撕mybatis源码
传统的JDBC编程中的一般操作: 1.注册数据库驱动类,指定数据库的URL地址.数据库用户名.密码等连接信息 2.通过DriverManager打开数据库连接 3.通过数据库连接创建Statement ...
- 一篇文章带你了解服务器操作系统——Linux简单入门
一篇文章带你了解服务器操作系统--Linux简单入门 Linux作为服务器的常用操作系统,身为工作人员自然是要有所了解的 在本篇中我们会简单介绍Linux的特点,安装,相关指令使用以及内部程序的安装等 ...
- .NET中IActionResult的返回类型
ActionResult继承了IActionResult JsonResult.RedirectResult.FileResult.ViewResult.ContentResult均继承了Action ...