java Calendar日历类型常见方法

发布时间 2023-11-22 17:17:29作者: 小池在线哭泣

Calendar 类是一个抽象类,它为特定瞬间与一组诸如 YEARMONTHDAY_OF_MONTHHOUR日历字段之间的转换提供了一些方法,并为操作日历字段(例如获得下星期的日期)提供了一些方法。瞬间可用毫秒值来表示,它是距历元(即格林威治标准时间 1970 年 1 月 1 日的 00:00:00.000,格里高利历)的偏移量。

该类还为实现包范围外的具体日历系统提供了其他字段和方法。这些字段和方法被定义为 protected

Calendar 提供了一个类方法 getInstance,以获得此类型的一个通用的对象。CalendargetInstance 方法返回一个 Calendar 对象,其日历字段已由当前日期和时间初始化:

Calendar calendar=Calendar.getInstance();

获取24小时的方法

int hours=calendar.get(Calendar.HOUR_OF_DAY);
System.out.println(hours);

获取时的方法

int hour=calendar.get(Calendar.HOUR);
System.out.println(hour);

获取日期的方法

int date=calendar.get(Calendar.DATE);
System.out.println(date);

获取月份的方法

int month=calendar.get(Calendar.MONTH)+1;
 System.out.println(month); // 西方 月份:0-11 东方 月份:1-12

获取年份的方法

 int year=calendar.get(Calendar.YEAR);
 System.out.println(year);

 

获取一个Calendar日历对象对应的Date日期对象

Date date=calendar.getTime();  //把日历对象转换成日期对象
System.out.println(date); //获取现在的时间

获取当前时间的地区

//timeZone时区  世界标准时间
//1
TimeZone timeZone=calendar.getTimeZone();
System.out.println(timeZone);
​
//2
TimeZone timeZone=TimeZone.getTimeZone("Asia/Shanghai"); //上海
System.out.println(timeZone);
​
//3
TimeZone timeZone=TimeZone.getTimeZone("Asia/Changqing"); //重庆
System.out.println(timeZone);

获取当前时间的毫秒值

Date date2=new Date();
long time =date2.getTime();
System.out.println("这是date获取的毫秒值"+time);
​
long time1=calendar.getTimeInMillis();
System.out.println("calender日历对应的毫秒值"+timeInMillis);
​
long time2=System.currentTimeMillis();
System.out.println("这是System系统获取的毫秒值"+timeMillis);
​
//加个System纳秒
long nano = System.nanoTime();
System.out.println("获取的纳秒"+nano);

把日期设置为5

calendar.set(Calendar.DATE,5);
//获取日期
int date=calendar.get(Calendar.DATE);
System.out.println("日期"+date);

把当前月份设置为5月

calendar.set(Calendar.MONTH,5);
//获取月份
int month=calendar.get(Calendar.MONTH);
System.out.println("月份"+month);

把当前年份设置为2025年

calendar.set(Calendar.YEAR,2050);
//获取年份
int year =calendar.get(Calendar.YEAR);
System.out.println("年份"+year);
​
//把当前的年份增加两年
calendar.add(Calendar.YEAR,2);
//把当前的月份减少3个月
calendar.add(Calendar.MONTH,-3);
//获取
int year1=calendar.get(Calendar.YEAR);
int month1=calendar.get(Calendar.MONTH);
int date1=calendar.get(Calendar.DATE);
System.out.println(year1+"年"+month1+"月"+date1+"日");