注意:西方国家的月份是0~11
一、基础
1、注意:Calendar类是抽象类型
2、初始化对象
通过调用Calendar中的静态方法进行初始化
package cn.wt.day12; import java.util.Calendar; public class Demon02 { public static void main(String[] args) { Calendar cal = Calendar.getInstance(); System.out.println(cal); } }
二、进阶
1、get方法
作用:获取日历
语法:cal.get(int field)
field是Calendar类的常量,通过Calendar类直接调用
package cn.wt.day12; import java.util.Calendar; public class Demon02 { public static void main(String[] args) { // Calendar cal = Calendar.getInstance(); // System.out.println(cal); int year = getYear(); System.out.println(year); } private static int getYear() { Calendar cal = Calendar.getInstance(); // 多态 int year = cal.get(Calendar.YEAR); return year; } }
其它常量,看文档或源码
2、set方法
作用:设置日历
语法:set(int field, int value)
field Calendar中的常量; value 是设置的值
package cn.wt.day12; import java.util.Calendar; public class Demon02 { public static void main(String[] args) { // Calendar cal = Calendar.getInstance(); // System.out.println(cal); int year = getYear(); System.out.println(year); setCal(); } private static void setCal() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2024); // 设置指定的filed System.out.println(cal.getTime()); // Calendar对象 -> Date对象 cal.set(2024, 12, 06); // overload 方法的重载 System.out.println(cal.getTime()); // Calendar对象 -> Date对象 } private static int getYear() { Calendar cal = Calendar.getInstance(); // 多态 int year = cal.get(Calendar.YEAR); return year; } }
3、add方法
作用:对Calendar中的常量进行添加或减少
add(int field, int amount)
field Calendar中的常量; amount 增加或减少的值 增加为正 减少为-
package cn.wt.day12; import java.text.SimpleDateFormat; import java.util.Calendar; public class Demon02 { public static void main(String[] args) { // Calendar cal = Calendar.getInstance(); // System.out.println(cal); // 获取 int year = getYear(); System.out.println(year); // 设置日历 setCal(); // 增加日历 addCal(); } private static void addCal() { Calendar cal = Calendar.getInstance(); // Calendar 对象 SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String formatTime = sdf.format(cal.getTime()); // Calendar对象 -> Date 对象 -> String 对象 System.out.println(formatTime); cal.add(Calendar.MONTH, -1); // 月份减少一个月 String ft2 = sdf.format(cal.getTime()); System.out.println(ft2); } private static void setCal() { Calendar cal = Calendar.getInstance(); cal.set(Calendar.YEAR, 2024); // 设置指定的filed System.out.println(cal.getTime()); // Calendar对象 -> Date对象 cal.set(2024, 12, 06); // overload 方法的重载 System.out.println(cal.getTime()); // Calendar对象 -> Date对象 } private static int getYear() { Calendar cal = Calendar.getInstance(); // 多态 int year = cal.get(Calendar.YEAR); return year; } }
4、getTime方法
作用:Calendar对象->Date对象