Java之Calendar类
Calendar类概述

获取方式
- public static Calendar getInstance() :使用默认时区和语言环境获得一个日历
//获取Calendar类的子类对象 Calendar cal = Calendar.getInstance();
常用方法
- public int get(int field) :返回给定日历字段的值。
package demo04;
import java.util.Calendar;
public class Demo01 {
public static void main(String[] args) {
//通过静态方法创建,返回Calendar子类对象
Calendar instance = Calendar.getInstance();
/*
public int get(int field):返回给定日历字段的值。
参数:传递指定的日历字段(YEAR,MONTH...)
返回值:日历字段代表的具体的值
*/
System.out.print("现在是"+instance.get(Calendar.YEAR)+"年");
//在Calendar类中,月份的表示是以0-11代表1-12月。
System.out.print(instance.get(Calendar.MONTH)+"月");
System.out.println(instance.get(Calendar.DAY_OF_MONTH)+"日");
}
}
代码执行后的结果

- public void set(int field, int value) :将给定的日历字段设置为给定值。
package demo04;
import java.util.Calendar;
public class Demo02 {
/*
public void set(int field, int value):将给定的日历字段设置为给定值。
参数:
int field:传递指定的日历字段(YEAR,MONTH...)
int value:给指定字段设置的值
*/
public static void main(String[] args) {
//使用getInstance方法获取Calendar对象
Calendar c = Calendar.getInstance();
//设置年为9999
c.set(Calendar.YEAR, 9999);
//设置月为9月
c.set(Calendar.MONTH, 9);
//设置日9日
c.set(Calendar.DATE, 9);
//获取设置后的日期
System.out.println("现在的日期是" + c.get(Calendar.YEAR) + "年" + c.get(Calendar.MONTH) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日");
//同时设置年月日,可以使用set的重载方法
c.set(8888, 8, 8);
System.out.println("现在的日期是" + c.get(Calendar.YEAR) + "年" + c.get(Calendar.MONTH) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日");
}
}
代码执行后的结果

- public abstract void add(int field, int amount) :根据日历的规则,为给定的日历字段添加或减去指定的时间量。
package demo04;
import java.util.Calendar;
public class Demo03 {
/*
public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
把指定的字段增加/减少指定的值
参数:
int field:传递指定的日历字段(YEAR,MONTH...)
int amount:增加/减少指定的值
正数:增加
负数:减少
*/
public static void main(String[] args) {
//使用getInstance方法获取Calendar对象
Calendar c = Calendar.getInstance();
//获取当前的日期
System.out.println("现在的日期是" + c.get(Calendar.YEAR) + "年" + c.get(Calendar.MONTH) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日");
//把年增加2年
c.add(Calendar.YEAR, 2);
//把月份减少3个月
c.add(Calendar.MONTH, -3);
//获取设置后的日期
System.out.println("现在的日期是" + c.get(Calendar.YEAR) + "年" + c.get(Calendar.MONTH) + "月" + c.get(Calendar.DAY_OF_MONTH) + "日");
}
}
代码执行后的结果

- public Date getTime() :返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
package demo04;
import java.util.Calendar;
import java.util.Date;
public class Demo04 {
/*
public Date getTime():返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
把日历对象,转换为日期对象
*/
public static void main(String[] args) {
//使用getInstance方法获取Calendar对象
Calendar c = Calendar.getInstance();
//日历对象--->日期对象
Date date = c.getTime();
System.out.println(date);
}
}
代码执行后的结果

- 西方星期的开始为周日,中国为周一。
- 在Calendar类中,月份的表示是以0-11代表1-2月。
- 日期是有大小关系的,时间靠后,时间越大。
Java之Calendar类的更多相关文章
- Java基础-Calendar类常用方法介绍
Java基础-Calendar类常用方法介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Calendar类概念 Calendar 类是一个抽象类,它为特定瞬间与一组诸如 Y ...
- Java学习--Calendar 类的应用
Calendar 类的应用 Date 类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法却遭到众多批评,不建议使用,更推荐使用 Calen ...
- Java.util.Calendar类
Java.util.Calendar类 package myProject; import java.text.SimpleDateFormat; import java.util.Calendar; ...
- JAVA中Calendar 类的应用
转自:https://www.imooc.com/code/2340 侵删! Date 类最主要的作用就是获得当前时间,同时这个类里面也具有设置时间以及一些其他的功能,但是由于本身设计的问题,这些方法 ...
- Java API —— Calendar类
1.Calendar类概述 Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEAR.MONTH.DAY_OF_MONTH.HOUR 等 日历字段之间的转换提供了一些方法,并为操作日历字段 ...
- HDOJ(HDU) 2133 What day is it(认识下Java的Calendar类---日期类)
Problem Description Today is Saturday, 17th Nov,2007. Now, if i tell you a date, can you tell me wha ...
- Java的Calendar类
通过Date类我们可以创建并格式化一个日期对象,但是如何才能设置和获取日期数据的特定部分呢?----Calendar类 Calendar类是一个抽象类,在实际使用时实现特定的子类的对象,通过getIn ...
- java代码Calendar类
总结:时间类Calendar.类代表当前时 Calendar c=Calendar.getInstance();,,Calendar是抽象类.Calendar的构造方法是私有的,API提供了getIn ...
- java:calendar类及一些比较实用的utils(一)
在java编程中经常会用到时间日期的计算.比较.格式化等等操作,刚开始接触Calendar类时,还是在初学习期间,小小白一枚,看着这个好复杂,懒惰心理作祟也就没有怎么去学习,后来在项目中经常用到,索性 ...
随机推荐
- usb工业相机之硬件设计-双缓冲-双端口sdram-fpga
usb工业相机之硬件设计-双缓冲-双端口sdram-fpga 在前期的产品设计中,采用cb提供的结构,68013直接操作摄像头,iic配置摄像头寄存器,板载晶振提供时钟,摄像头的pclk直接接ifcl ...
- UWP 中的全局异常处理
问题 在开发一款应用的过程中,我们开发者很难考虑到所有问题,往往会忘记处理一些可能发生的异常.随之而来的结果就是用户使用过程中接连不断的崩溃.所以,我们有必要处理所有未被我们处理的异常. 本文介绍了 ...
- 001_Java概述与环境搭建
Java由来: SUN公司开发,95年推出,96年推出JDK1.0版本 09年被Oracle(甲骨文)收购 詹姆斯·高斯林被称作“Java之父” JavaSE:Java Standard Editoi ...
- 一篇文章让你明白CPU缓存一致性协议MESI
CPU高速缓存(Cache Memory) CPU为何要有高速缓存 CPU在摩尔定律的指导下以每18个月翻一番的速度在发展,然而内存和硬盘的发展速度远远不及CPU.这就造成了高性能能的内存和硬盘价格及 ...
- selenium滑块操作
from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from ...
- Ubuntu虚拟机安装VMware Tools
前言 在用VMware安装好Linux虚拟机后,发现在虚拟机下安装的Ubuntu16.04 64位无法进入全屏模式,同时存在物理机和虚拟机之间无法实现文件传输的问题,通过安装VMware Tools得 ...
- 《Dotnet9》建站-本站Logo设计之路
时间如流水,只能流去不流回! 点赞再看,养成习惯,这是您给我创作的动力! 本文 Dotnet9 https://dotnet9.com 已收录,站长乐于分享dotnet相关技术,比如Winform.W ...
- 学习python这么久,有没有考虑发布一个属于自己的模块?
1. 为什么需要对项目分发打包? 平常我们习惯了使用 pip 来安装一些第三方模块,这个安装过程之所以简单,是因为模块开发者为我们默默地为我们做了所有繁杂的工作,而这个过程就是 打包. 打包,就是 ...
- 【iOS翻译】App启动时的响应过程
Responding to the Launch of Your App Initialize your app’s data structures, prepare your app to run, ...
- Client error attempting to change layout margins of a private view
从 iOS 11 开始,UINavigationBar 使用了自动布局,左右两边的按钮到屏幕之间会有 16 或 20 的边距. 为了避免点击到间距的空白处没有响应,通常做法是:定义一个 UINavig ...