类 Calendar
简介
Java.util.Calendar是日历类,在Date后出现,替换掉了许多Date的方法。该类将所有可能用到的时间信息封装为静态成员变量,方便获取。日历类就是方便获取各个时间属性的。注意Calendar是一个抽象类,无法直接创建对象使用。里面有一个静态方法public static Calendar getInstance()使用默认时区和语言环境获得一个日历。返回的 Calendar
基于当前时间,使用了默认时区和默认语言环境。(简而言之就是返回此类的子类对象)
常用方法:
- public int get(int field):返回给定日历字段的值。
- public void set(int field, int value):将给定的日历字段设置为给定值。
- public abstract void add(int field, int amount):根据日历的规则,为给定的日历字段添加或减去指定的时间量。
- public Date getTime()`:返回一个表示此Calendar时间值(从历元到现在的毫秒偏移量)的Date对象。
成员方法参数:
- int field :日历类的字段,(也就是成员变量值),可以使用Calendar类的静态成员变量名称获取。
字段值的具体含义为:
- YEAR :默认情况下获取系统当前的年份
- MONTH:默认情况下获取系统当前年中的月份数,一年中的一月的值为 0
- WEEK_OF_YEAR:默认情况下获取系统当前年中的星期数. 一年中的第一个星期的值为 1.
- WEEK_OF_MONTH:默认情况下获取系统当前月中的星期数. 一个月中第一个星期的值为 1.
- DAY_OF_MONTH:默认情况下获取系统当前一个月中的某一天. 它与 DATE 是同义词. 一个月中第一天的值为 1.
- DATE :等同 DAY_OF_MONTH
- DAY_OF_YEAR :默认情况下获取系统当前年中的天数. 一年中第一天的值为 1.
- DAY_OF_WEEK:默认情况下获取系统当前一个星期中的某天, 一周中第一天的值为 1
- AM_PM默认情况下获取系统当前HOUR 是在中午之前还是在中午之后. [0, 12) 为上午, AM_PM 值为 1 [12, 24)为下午, AM_PM 值为 0
- HOUR:默认情况下获取系统当前上午或下午的小时.
- HOUR_OF_DAY:默认情况下获取系统当前一天中的小时。 HOUR_OF_DAY 用于 24 小时制
- MINUTE:默认情况下获取系统当前一小时中的分钟
- SECOND:默认情况下获取系统当前一分钟中的秒
代码举例:
package demo03; import java.sql.SQLOutput; import java.util.Calendar; import java.util.Date; public class CalendarTest { public static void main(String[] args) { //获取日历类子类对象 Calendar calendar = Calendar.getInstance(); // get(int field)获取指定字段的值 System.out.println("现在的年份是" + calendar.get(Calendar.YEAR) + "年");//获取当前系统的年份 System.out.println("现在的月份是" + calendar.get(Calendar.MONTH) + "月");//获取当前系统的月 System.out.println("现在是一个月中第" + calendar.get(Calendar.DATE) + "天");//获取当前系统的日 // set(int field, int value):给指定字段设置新的值 calendar.set(Calendar.YEAR, 2022); System.out.println("现在的年份是" + calendar.get(Calendar.YEAR) + "年");//获取当前系统设置后的年份 // add(int field, int amount):为给定的日历字段添加(整数)或减去(负数)指定的时间量。 calendar.add(Calendar.DATE, -3); System.out.println("现在的年份是" + calendar.get(Calendar.DATE) + "天");//获取当前系统减3日后的值} Date date = calendar.getTime();//获取系统当前的Date对象 long time = date.getTime();//从时间原点到现在的系统时间过去了多少毫秒 System.out.println(time); } }
执行结果
注意:
- 西方星期的开始为周日,中国为周一。
- 在Calendar类中,月份的表示是以0-11代表1-12月。
- 日期是有大小关系的,时间靠后,时间越大。
类 Calendar的更多相关文章
- 日历类Calendar
在早期的JDK版本中,日期(Date)类附有两大功能:(1)允许用年.月.日.时.分.秒来解释日期:(2)允许对表示日期的字符串进行格式化和句法分析.在JDK1.1中提供了类Calendar来完成第一 ...
- Java 时间类-Calendar、Date、LocalDate/LocalTime
1.Date 类 java.util.Date是一个"万能接口",它包含日期.时间,还有毫秒数,如果你只想用java.util.Date存储日期,或者只存储时间,那么,只有你知道哪 ...
- 日期操作类--Calendar类
Calendar-API Calendar类 通过Date和DateFormat能够格式化并创建一个日期对象了,但是我们如何才能设置和获取日期数据的特定部分呢,比如说小时,日,或者分钟? 我们又如何在 ...
- 日期Data类,日历类Calendar
用于得到当前时间,和设置日期类数据 public void testDate() { // 创建一个日期对象 Date date = new Date(); /** * 从1900年1月1日 00:0 ...
- 操作日期时间类 Calendar类
使用Calendar类可以直接创建Calendar的子类GregorianCalendar 来直接实例化, GregorianCalendar calendar = new GregorianCal ...
- 类Calendar
/* * Calendar类概述及其方法 * * Calendar类概述 * Calendar类是一个抽象类,它为特定瞬间与一组诸如YEAR.MONTH.DAY_OF_MONTH.HOUR等 * 日历 ...
- Java 学习 时间格式化(SimpleDateFormat)与历法类(Calendar)用法详解
基于Android一些时间创建的基本概念 获取当前时间 方式一: Date date = new Date(); Log.e(TAG, "当前时间="+date); 结果: E/T ...
- Java—时间的原点 计算时间所使用的 Date类/DateFormat类/Calendar类
Date类 类 Date 表示特定的瞬间,精确到毫秒. 毫秒概念:1000毫秒=1秒 毫秒的0点: System.currentTimeMillis() 返回值long类型参数 用于获取当前日期的毫 ...
- java日历类Calendar简单使用
import java.util.Calendar; import java.util.TimeZone; public class Test1 { public static void main(S ...
随机推荐
- C# ListView 控件和 INotifyPropertyChanged 接口
ListView 控件和 DataGridView 控件 ListView 是跟 Winform 中 DataGridView 用法以及显示效果差不多的一个 WPF 控件,可以通过列表的方式方便的显示 ...
- Java数据结构和算法 - OverView
Q: 为什么要学习数据结构与算法? A: 如果说Java语言是自动档轿车,C语言就是手动档吉普.数据结构呢?是变速箱的工作原理.你完全可以不知道变速箱怎样工作,就把自动档的车子从1档开到4档,而且未必 ...
- 03 JVM 从入门到实战 | 简述垃圾回收算法
引言 之前我们学习了 JVM 基本介绍 以及 什么样的对象需要被 GC ,今天就来学习一下 JVM 在判断出一个对象需要被 GC 会采用何种方式进行 GC.在学习 JVM 如何进行垃圾回收方法时,发现 ...
- Python300篇电子书免费送
此电子书集合由猪哥整理,免费发布于微信公众号:裸睡的猪. 此电子书集合将持续更新,获取最新电子书集合请关注微信公众号:裸睡的猪,回复:电子书此电子书集合仅用作个人学习,请勿用于商业获利!!! 获取方式 ...
- 死磕 java集合之TreeSet源码分析
问题 (1)TreeSet真的是使用TreeMap来存储元素的吗? (2)TreeSet是有序的吗? (3)TreeSet和LinkedHashSet有何不同? 简介 TreeSet底层是采用Tree ...
- MySQL在CenterOS和Ubuntu的安装
声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 下载地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.20-linux-glib ...
- T4模板简单了解
T4模板基础 T4即为Text Template Transformation Toolkit,一种可以由自己去自定义规则的代码生成器.根据业务模型可生成任何形式的文本文件或供程序调用的字符串 在VS ...
- 一个简洁的小H车调运模型
一个简洁的小H车调运模型 不久前, 帝都B城市到处都是小H车, 理想的小H车应该是布朗运动\均匀分布,可是现实上它们就是不均匀.于是有如下问题: 观察帝都 HD区SY村区域,将其划分成10个用车点,用 ...
- Linux用户和权限管理看了你就会用啦
前言 只有光头才能变强 回顾前面: 看完这篇Linux基本的操作就会了 没想到上一篇能在知乎获得千赞呀,Linux也快期末考试了,也有半个月没有写文章了.这篇主要将Linux下的用户和权限知识点再整理 ...
- 补习系列(13)-springboot redis 与发布订阅
目录 一.订阅发布 常见应用 二.Redis 与订阅发布 三.SpringBoot 与订阅发布 A. 消息模型 B. 序列化 C. 发布消息 D. 接收消息 小结 一.订阅发布 订阅发布是一种常见的设 ...