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类时,还是在初学习期间,小小白一枚,看着这个好复杂,懒惰心理作祟也就没有怎么去学习,后来在项目中经常用到,索性 ...
随机推荐
- doGet()方法和doPost()方法有什么区别?
1. 一般上,get是从服务器上获取数据,post是向服务器传送数据. 2. get是把参数数据队列加到提交表单的ACTION属性所指的URL中,值和表单内各个字段一一对应,在URL中可以看到.pos ...
- 曹工说Spring Boot源码(3)-- 手动注册Bean Definition不比游戏好玩吗,我们来试一下
写在前面的话 相关背景及资源: 曹工说Spring Boot源码系列开讲了(1)-- Bean Definition到底是什么,附spring思维导图分享 工程代码地址 思维导图地址 工程结构图: 大 ...
- ubuntu下 fdisk用法
Linux下的fdisk功能是极其强大的,用它可以划分出最复杂的分区,下面简要介绍一下它的用法: 对 于IDE硬盘,每块盘有一个设备名:对应于主板的四个IDE接口,设备名依次为:/dev/hda,/d ...
- Django之视图层与模板层
目录 视图层 小白必会三板斧 HttpResponse render redirect JsonResponse 前后端分离 FBV CBV 给CBV加装饰器 模板层 模板语法 模板传值 过滤器 语法 ...
- Java入门(一)——类、抽象类和接口
Java是一门面向对象语言,可以看出"对象"在Java有着举足轻重的位置.那么,"对象"从何而来呢?那必须是丈母娘造出来的,下面我们就先来说说这个丈母娘--类. ...
- [译]C# 7系列,Part 6: Read-only structs 只读结构
原文:https://blogs.msdn.microsoft.com/mazhou/2017/11/21/c-7-series-part-6-read-only-structs/ 背景 在.NET世 ...
- linux 删除.svn文件
linux删除当前目录及其子目录下的.svn文件,linux下删除全部的.svn文件 find . -name "*.svn" -type d -print -exec rm -r ...
- .NET Core 3.0正式版发布
是的,.NET Core 3.0正式版发布了,令人兴奋. WPF 其实,.NET Core 2.1开始已经是个很完善的版本,3.0又带来了什么呢?我站在我的使用角度来看,最最令人振奋的就是:能用WPF ...
- 求连通块个数 - BFS、DFS、并查集实现
本文基于leetcode的200.岛屿数量(题目
- CefSharp 修复Demo无法在其它路径下启动问题
CefSharp编译后,在直接点击打开CefSharp.Wpf.Example.exe,启动没问题但是复制demo包到其它路径下,无法打开demo.原因:代码中含有相对路径下的资源文件引用. CefS ...