Calendar类可以使用set方法设置时间,get方法获取时间。可以用于 获取设置 年,月,日,星期
一、实例化Calendar
使用Calendar的静态方法getInstance()
实例化对象。
Calendar c = Calendar.getInstance();
二、静态属性
Calendar类的一些静态属性如年,月,日,星期并不是表示的是2022-3-8 12:12:12。 而是用于指代set,get方法到底是取什么类型的值。作为set,get方法的第一个参数,用来指定设置获取年月日。
不能通过静态属性来获取时间!
属性 | 说明 |
---|---|
Calendar.YEAR | 指代年 ,值为1 |
Calendar.MONTH | 指代月,值为2 |
Calendar.DAY_OF_MONTH | 指代本月的日,(月从0开始)值为5 |
Calendar.DAY_OF_WEEK | 指代本月的星期,(星期从星期天开始,算为1)值为7 |
Calendar.DAY_OF_YEAR | 指代本年相对于当前时间过去了多少天。 |
Calendar.HOUR | 十二小时制的小时 |
Calendar.HOUR_OF_DAY | 二十四小时制的小时 |
Calendar.MINUTE | 分 |
Calendar.SECOND | 秒 |
Calendar.MILLISECOND | 毫秒 |
代码示例:
import java.util.Calendar;
public class Main{
public static void main(String[]args) {
System.out.println("Calendar.YEAR : "+Calendar.YEAR); // Calendar.YEAR : 1
System.out.println("Calendar.MONTH : "+Calendar.MONTH); // Calendar.MONTH : 2
System.out.println("Calendar.DAY_OF_MONTH : "+Calendar.DAY_OF_MONTH ); //Calendar.DAY_OF_MONTH : 5
System.out.println("Calendar.DAY_OF_WEEK : "+Calendar.DAY_OF_WEEK); //Calendar.DAY_OF_WEEK : 7
System.out.println(Calendar.HOUR); // 十二小时制的小时
System.out.println(Calendar.HOUR_OF_DAY); //二十四小时制的小时
System.out.println(Calendar.MINUTE); //分
System.out.println(Calendar.SECOND); //秒
System.out.println(Calendar.MILLISECOND); //毫秒
}
}
三、设置时间set(int field , int value)
set(int field , int value)方法通过传入上述的静态属性(第一个参数)来设置对应的值(第二个参数)。
在设置年月日星期中,月是从0开始算的,星期中星期天认为是1,以此类推。
直接举例子。
代码示例
import java.util.Calendar;
import java.util.Date;
public class Main{
public static void main(String[]args) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, 1999); //将年设置为1999年
c.set(Calendar.MONTH,11); //将月设置为12月 传入0为1月
c.set(Calendar.DAY_OF_MONTH,18); //将日设置为18日。
c.set(Calendar.DAY_OF_WEEK,1); //将星期设置为星期天
}
}
四、获取时间get(int field)
get(int field)通过传入上述的静态属性可以获取对应的年月日星期。
根据上述set的例子来获取时间:
import java.util.Calendar;
public class Main {
public static void main(String[] args) {
Calendar c = Calendar.getInstance();
c.set(Calendar.YEAR, 1999); //将年设置为1999年
c.set(Calendar.MONTH, 11); //将月设置为12月 传入0为1月
c.set(Calendar.DAY_OF_MONTH, 18); //将日设置为18日。
//c.set(Calendar.DAY_OF_WEEK, 1); //将星期设置为星期天
System.out.println(c.get(Calendar.DATE));
System.out.println(c.get(Calendar.YEAR)); //输出 1999
System.out.println(c.get(Calendar.MONTH)); //输出 11
System.out.println(c.get(Calendar.DAY_OF_MONTH));//输出 18
System.out.println(c.get(Calendar.DAY_OF_WEEK)); //输出2
}
}