Java Calendar类
Posted 李亦华的博客
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java Calendar类相关的知识,希望对你有一定的参考价值。
Calendar类概述
/** * java.util.Calendar类:是一个日历类 * Calendar类是一个抽象类,里边提供了很多操作日历字段的方法 * 如:YEAR、 MONTH、 DAY OF MONTH、HOUR * * Calendar类无法直接创建对象使用,里边有一个静态方法叫 getInstance(), * getInstance()方法返回了 Calendar类的子类对象 * static Calendar getInstance()使用默认时区和语言环境获得一个日历。 */
Calender获取对象的方式
使用静态方法:Calendar.getInstance()
import java.util.Calendar; public class Demo01Calendar { public static void main(String[] args) { Calendar calendar = Calendar.getInstance(); System.out.println(calendar); } }
Calender类的常用成员方法
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类的静态成员变量获取 public static final int YEAR = 1 年 public static final int MONTH = 2 月 public static final int DATE=5 一个月中的某一天 public static final int DAY_OF_ MONTH=5 一个月中的某一天 public static final int HOUR =10 时 public static final int MINUTE =12 分 public static final int SECOND =13 秒
get() 方法:返回给定日历字段的值
import java.util.Calendar; public class DemoCalendarGet { public static void main(String[] args) { // 首先使用getInstance()方法获取calendar对象 Calendar calendar = Calendar.getInstance(); // 调用get方法获取给定日历字段的值 System.out.println( "年:" + calendar.get(Calendar.YEAR) + " " + "月:" + calendar.get(Calendar.MONTH) + " " + "一个月中的某一天:" + calendar.get(Calendar.DATE) + " " + "一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH) + " " + "时:" + calendar.get(Calendar.HOUR) + " " + "分:" + calendar.get(Calendar.MINUTE) + " " + "秒:" + calendar.get(Calendar.SECOND) ); } }
输出: 年:2020 月:0 一个月中的某一天:11 一个月中的某一天年:11 时:8 分:37 秒:31 说明: 当时日期、时间:2020年1月11日8时37分31秒 西方的月份:0-11 东方的月份:1-12
set() 方法:将给定的日历字段设置为给定值
import java.util.Calendar; public class DemoCalendarSet { public static void main(String[] args) { // 首先使用getInstance()方法获取calendar对象 Calendar calendar = Calendar.getInstance(); System.out.println(" 设置前"); System.out.println( "年:" + calendar.get(Calendar.YEAR) + " " + "月:" + calendar.get(Calendar.MONTH) + " " + "一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH) ); // 将年设置为 2008 calendar.set(Calendar.YEAR, 2008); // 将月设置为 10 calendar.set(Calendar.MONTH, 10); // 将日期设置为 3 calendar.set(Calendar.DAY_OF_MONTH, 3); System.out.println(" 分别设置后"); System.out.println( "年:" + calendar.get(Calendar.YEAR) + " " + "月:" + calendar.get(Calendar.MONTH) + " " + "一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH) ); // 同时设置年月日 calendar.set(1998, Calendar.SEPTEMBER, 25); System.out.println(" 同时设置后"); System.out.println( "年:" + calendar.get(Calendar.YEAR) + " " + "月:" + calendar.get(Calendar.MONTH) + " " + "一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH) ); } }
输出结果: 设置前 年:2020 月:0 一个月中的某一天:11 分别设置后 年:2008 月:10 一个月中的某一天:3 同时设置后 年:1998 月:8 一个月中的某一天:25
add() 方法:根据日历的规则,为给定的日历字段添加或减去指定的时间量。
import java.util.Calendar; public class DemoCalendarAdd { public static void main(String[] args) { // 首先使用getInstance()方法获取calendar对象 Calendar calendar = Calendar.getInstance(); System.out.println(" 变化前"); System.out.println( "年:" + calendar.get(Calendar.YEAR) + " " + "月:" + calendar.get(Calendar.MONTH) + " " + "一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH) ); // 把年减少两年 calendar.add(Calendar.YEAR, -2); // 把月份增加三个月 calendar.add(Calendar.MONTH, 3); // 把日期增加10天 calendar.add(Calendar.DAY_OF_MONTH, 10); System.out.println(" 变化后"); System.out.println( "年:" + calendar.get(Calendar.YEAR) + " " + "月:" + calendar.get(Calendar.MONTH) + " " + "一个月中的某一天:" + calendar.get(Calendar.DAY_OF_MONTH) ); } }
输出结果: 变化前 年:2020 月:0 一个月中的某一天:11 变化后 年:2018 月:3 一个月中的某一天:21
getTime() 方法:返回一个表示此 Calendar时间值(从历元到现在的亳秒偏移量)的Date对象。
import java.util.Calendar; public class DemoCalendarGetTime { public static void main(String[] args) { // 首先使用getInstance()方法获取calendar对象 Calendar calendar = Calendar.getInstance(); // 返回一个表示calendar时间值(从历元到现在的亳秒偏移量)的Date对象。 System.out.println( calendar.getTime() ); } }
输出结果:
Sat Jan 11 21:16:52 CST 2020
以上是关于Java Calendar类的主要内容,如果未能解决你的问题,请参考以下文章